[Çözüldü] -999999 ile 999999 python

Başlatan cerkescnblt, 11 Mart 2017 - 17:03:08

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cerkescnblt

-999999 ile 999999 arasındaki sayıları YAZIYLA YAZDIRAN programı yapamıyorum YARDIM EDEBİLİRMİSİNİZ

alquirel

Bu şekilde doğrudan yardım alamazsın. Neleri denedin, nerelerde takıldın, hangi hataları aldın onları aktarman lazım.

Kaleihan

Eskiden pythonla birazcık uğraşmıştım. İnşallah doğru yazarım :)
Aklıma birkaç çözüm geliyor aslında.

İlki
print(range(-99999, 99999))


ikinci olarak for döngüsü kullanılabilir.
for sayi in range(-99999, 9999):
    print(sayi)


üçüncü olarak while döngüsü ile de yapılabilir.
sayi = -99999
while a < 9999:
    a =+ 1
    print(a)

Mantığını verdim heralde. :)

cerkescnblt

#3
sayı = {0: "",             # buraya sıfırı hiçbir değer almayacak şekilde tanımladık. burada sayı aralarında sıfır yazmaması için
        1: "Bir",
        2: "İki",
        3: "Üç",
        4: "Dört",
        5: "Beş",
        6: "Altı",
        7: "Yedi",
        8: "Sekiz",
        9: "Dokuz"}

sayı10 = {1: "On",
          2: "Yirmi",
          3: "Otuz",
          4: "Kırk",
          5: "Elli",
          6: "Altmış",
          7: "Yetmiş",
          8: "Seksen",
          9: "Doksan",
          0: ""}  # buraya sıfırı hiçbir değer almayacak şekilde tanımladık
sayı100 = {1: "Yüz",
          2: "İkiYüz",
          3: "ÜçYüz",
          4: "DörtYüz",
          5: "BeşYüz",
          6: "AltıYüz",
          7: "YediYüz",
          8: "SekizYüz",
          9: "DokuzYüz",
          0: ""}
sayı1000= {1: "Bin",
          2: "İkiBin",
          3: "ÜçBin",
          4: "DörtBin",
          5: "BeşBin",
          6: "AltıBin",
          7: "YediBin",
          8: "SekizBin",
          9: "DokuzBin",
          0: ""}
sayı10000 = {1: "OnBin",
          2: "YirmiBin",
          3: "OtuzBin",
          4: "KırkBin",
          5: "ElliBin",
          6: "AltmışBin",
          7: "YetmişBin",
          8: "SeksenBin",
          9: "DoksanBin",
          0: ""}
sayı100000 = {1: "YüzBin",
          2: "İkiYüzBin",
          3: "ÜçYüzBin",
          4: "DörtYüzBin",
          5: "BeşYüzBin",
          6: "AltıYüzBin",
          7: "YediYüzBin",
          8: "SekizYüzBin",
          9: "DokuzYüzBin",
          0: ""}

try:  #harf girişi yaptığında onu floata çeviremediği içi ValueError veriyor bu hatayı verdiğinde yazması için bir komut verdik.
  yazı = int(input("bir sayı giriniz : ")) #küsuratlı sayıyı tanıyabilsin diye int yerine float olarak tanımladık.

  if yazı>0 :
    if yazı == 0:    #sadece sıfır yazdığında sıfır yazması için buraya sıfırı bir if ile tanımladık.
      print ("sıfır")
    if yazı in range(1,10):   #0 yazdığında bir satır boşluk bırakarak sonlanmaması için range in başlangıç değerini 1 yaptık.
        print(sayı[yazı])
    elif yazı in range(10, 100):
        b, k = divmod(yazı, 10)
        print(sayı10+sayı[k])
    elif yazı in range(100, 1000):
        b1, k1 = divmod(yazı, 100)
        b2, k2 = divmod(k1, 10)
        if b1 > 1:
            print(sayı[b1]+"Yüz"+sayı10[b2]+sayı[k2])
        else:
            print("Yüz"+sayı10[b2]+sayı[k2])
    elif yazı in range(1000, 10000):
        b1, k1 = divmod(yazı, 1000)
        b2, k2 = divmod(k1, 100)
        b3, k3 = divmod(k2, 10)
        if b1 > 1:
            if b2 > 1:
                print(sayı[b1]+"Bin"+sayı[b2]+"Yüz"+sayı10[b3]+sayı[k3])
            else:
                if  b2 == 0:  #buraya 1005 veya 7002 gibi iki sıfır içeren ve b1<100 olduğu için b2 == 0 olduğu durumu tanımladık.
                  print(sayı[b1]+"Bin"+sayı10[b3]+sayı[k3])
                else:
                  print(sayı[b1]+"Bin"+"Yüz"+sayı10[b3]+sayı[k3])
        else: 
            if b2 > 1:
              print("Bin"+sayı[b2]+"Yüz"+sayı10[b3]+sayı[k3])
            else:
              if b2 == 0:
                print("Bin"+sayı10[b3]+sayı[k3])
              else:
                print("BinYüz"+sayı10[b3]+sayı[k3])


  else :
    print("Eksi",sayı[yazı])
    elif yazı in range(10, 100):
      b, k = divmod(yazı, 10)
      print(sayı10+sayı[k])
    elif yazı in range(100, 1000):
      b1, k1 = divmod(yazı, 100)
      b2, k2 = divmod(k1, 10)
      if b1 > 1:
          print(sayı[b1]+"Eksi Yüz"+sayı10[b2]+sayı[k2])
      else:
          print("Eksi Yüz"+sayı10[b2]+sayı[k2])
    elif yazı in range(1000, 10000):
      b1, k1 = divmod(yazı, 1000)
      b2, k2 = divmod(k1, 100)
      b3, k3 = divmod(k2, 10)
      if b1 > 1:
          if b2 > 1:
              print(sayı[b1]+"Eksi Bin"+sayı[b2]+"Eksi Yüz"+sayı10[b3]+sayı[k3])
          else:
              if  b2 == 0:  #buraya 1005 veya 7002 gibi iki sıfır içeren ve b1<100 olduğu için b2 == 0 olduğu durumu tanımladık.
                print(sayı[b1]+"Eksi Bin"+sayı10[b3]+sayı[k3])
              else:
                print(sayı[b1]+"Eksi Bin"+"Eksi Yüz"+sayı10[b3]+sayı[k3])
      else: 
          if b2 > 1:
            print("Eksi Bin"+sayı[b2]+"Eksi Yüz"+sayı10[b3]+sayı[k3])
          else:
            if b2 == 0:
              print("Eksi Bin"+sayı10[b3]+sayı[k3])
            else:
              print("Eksi BinYüz"+sayı10[b3]+sayı[k3])




except ValueError:
  print ("Harf Girişi Mümkün Degildir.")


+++KOD BU EKSİLİ YERİ YAZDIRAMADIM+++

remziyapar


harun252525

#5
[mention=619990]@cerkescnblt[/mention]

dostum 2 yıl önce bunun için bir program yapmıştım

https://drive.google.com/file/d/0ByGGW28GJgmoTlVBMGVRV0NpNU0/view?usp=sharing

buyur py dosyasını indir ve çalıştır

Edit:
2 yıl önce programlamaya yeni başlama yılım olduğu için kodlar çok acemice yazılmış ama çalışıyor.

Edit2:
söylemeyi unuttum kodlar tam senin istediğin gibi değil fakat çok ufak değişliklik yaparak amacına ulaşablirsin eğer yapamadıysan söyle halledeyim senin için :D
Kod Yazmak Bir Şiirdir.

cerkescnblt

[mention=620044]@harun252525[/mention]
Yardımcı olursan cok sevinirim -999999 ile 999999
bi turlu yapamadım python a yeni başladım
hoca ödev versi bi turlu yapamadım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 11 Mart 2017 - 21:40:42


harun252525

[mention=620044]@cerkescnblt[/mention]

siz üniversiteyemi gidiyorsunuz yoksa kursamı merak ettim doğrusu python için kursa gitmeye gerek yok internetteki kaynaklar yetiyorda artıyor zaten

bana pm den ulaşın yardım etmem için orda daha iyi konuşuruz...
Kod Yazmak Bir Şiirdir.

cerkescnblt


alquirel

Gerek çözümlerin forum üzerinde olup daha sonrasında bakacaklar için kaynak oluşturması açısından, gerek yeni gelen kullanıcıların özel iletişim kullanıp sorunları ve çözümleri forum üzerinde konuşmak için gönüllü olmuş kişileri rahatsız etmemesi açısından 30 iletiye ulaşmamış olan kullanıcıların özel ileti kullanımına izin vermiyoruz

harun252525

[mention=620068]@cerkescnblt[/mention]

peki hocam ben daha ne yapayım bilemedim size kodları verdim 15 basamağa kadar her sayıyı türkçe olarak yazan bir program verdim denedinizmi programı ? nerede hata yaptınız veya neresini anlamadınız biraz daha detaya girinde yardımcı olayım saygılar.
Kod Yazmak Bir Şiirdir.

cerkescnblt

-99 ile 99 arasını yazıyor

harun252525

[mention=620088]@cerkescnblt[/mention]

lütfen yazdığınız kodu bana dosya halinde yollarmısınız :D çok merak ettim :D
Kod Yazmak Bir Şiirdir.

cerkescnblt

http://upfile.mobi/lTWDcR3TazQ


böyle yaptım cok uzun oluyor pozitif çalıştırıyor
bi turlu yapamadım
siz -100
+100 lere kadar da olur yapıp atamazmısınız kısa kodlu

harun252525

:D biraz iki dakka bekeleyin sizin için yapıcam programı ama ben python2 biliyorum python3 e çevirisiniz artık :D bi zahmet :D zaten hemen hemne aynı çok da fark yok neyse ben yazmaya başlayayım :D
Kod Yazmak Bir Şiirdir.

cerkescnblt

ÇOK TEŞEKKÜR EDİYORUM BEKLEMEDEYİM.

harun252525

[mention=620097]@cerkescnblt[/mention]

pythonda fonksiyonları biliyormusunuz biliyorsanız ona göre yazıyorum ?
Kod Yazmak Bir Şiirdir.

cerkescnblt

2 hafta oldu python a geceli fonksiyon bilmiyorum


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 11 Mart 2017 - 23:47:37

if ,elif,listeleri biliyorum baska bilmiyorum

harun252525

#18
[mention=620112]@cerkescnblt[/mention]

:D tamam ozaman bende ona göre yazarım peki hangi dilden geçtiniz daha doğrusu hangi dilleri biliyorsunuz merak ettim :D


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 11 Mart 2017 - 23:57:44

buyrun programınız :D umarım işinize yarar fonksiyonsuz yaptım en saf haliyle.

https://drive.google.com/file/d/0ByGGW28GJgmoVlNmSmpXRlZRZW8/view?usp=sharing
Kod Yazmak Bir Şiirdir.

cerkescnblt


harun252525

bitti :D


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 11 Mart 2017 - 23:59:31

kaç programlama dili biliyorsunuz ?
Kod Yazmak Bir Şiirdir.

cerkescnblt

C PROG PHP ASPX BASİT HALLERİYLE

harun252525

yalnış anlaşılma gibi olmasın ama bir an kötü * bir şey yaptığımı hissettim sizin mantığını anlamadıktan sonra bu dosyayı hocaya vermenin bir anlamı varmı ? önemli olan sizin öğrenmeniz değilmi ? he böyle saçma şeylerle ilgilenmem gereksiz diyorsanız katılıyorum size her programcı böyle saçma şeyler yapacak değil gerçi benim bunu yapmamın sebebi meraktı yapabiliyormuyum diye yaptım :D


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 12 Mart 2017 - 00:04:27

ve son olarak konu çözüldüyse çözüldü etiketini yapıştırın başlığınıza forumun kurallarından birisi uymak lazım :D
Kod Yazmak Bir Şiirdir.

cerkescnblt


harun252525

[mention=620122]@cerkescnblt[/mention]

imkansız... 999999 sayısınıda yazdıktan sonra çıkması lazım resim atarmısınız..
Kod Yazmak Bir Şiirdir.