Sayı tahmin uygulaması

Ark_Us

Kilopat
Katılım
7 Nisan 2017
Mesajlar
850
Makaleler
1
Çözümler
7
Herkese merhaba, döngüler bitirmeye yakın 2 uygulamam ilki bu diğeri de asal sayı uygulaması ona ayrı bir konu açacağım. Şimdi ben bu gözümü bir hayli korkutan oyunu yazmayı başardım, videoda söylenen maddelerin 2'sini yaptım sın olan madde puandı ne yazık ki onun için yazdıgım kodlar çalışmadı, şöyle bakınca hata da göremedim. İsterseniz bir de siz bakın.

Python:
import random.
sayı = random.randint(1,100)

input("sahı tahmine hoş gediniz başlamak için herhangib bir tuşa basınız: ")

tahmin = int(input("sayıyı bilmek için kaç hak istersiniz"))

puan = 100.
a = 0.

while a < tahmin:
 yazılanTahmin = int(input("tahmininiz nedir: "))
 if yazılanTahmin == sayı:
 print(f"teprikler sayıyı bildinzi puanız {puan}")
 break.
 elif yazılanTahmin < sayı:
 print("az söylediniz daha yukarı çıkın ")
 continue.
 elif yazılanTahmin > sayı:
 print("çok söylediniz birazdaha aşşa ininiz")
 continue.
 puan -= (tahmin // yazılanTahmin)
 a+=1.

Not = Yazım hataları olabilir bir kodu saat 12 geliyorken yazdım haberiniz olsun.
 
Son düzenleyen: Moderatör:
Hevesinizi kırmak istemem ama Python ile azıcık uğraşmış birisi bile bu uygulamayı yapabilir ama bu yolda size başarılar.
 
Python:
import random
sayi = randint(1,100)
puan = 100
tahmin = input(int("Tahmininizi girin"))

while(tahmin != sayi):
    if(tahmin<sayi):
        puan -=1;
        tahmin = input(int("Daha büyük bir tahmin yapın"))
    if(tahmin>sayi):
        puan -=1;
        tahmin = input(int("Daha küçük bir tahmin yapın"))
//eğer döngüden çıktıysa demek ki tahmin sayıya eşit olmuştur yani bilmiştir.
print("Tebrikler. Buldunuz! Puanınız :" + puan)

tahmin hakkı eklemeyi unutmuşum da bence yapabilirsiniz
 
Muhtemelen yazdığınız while ve if, elif blokları boşluk olarak bir hayli hatalı ve bu çok hassas bir konu.
Kodunuzu şöyle düzenledim:
Python:
import random
sayı = random.randint(1,100)

input("sahı tahmine hoş gediniz başlamak için herhangib bir tuşa basınız: ")

tahmin = int(input("sayıyı bilmek için kaç hak istersiniz"))

puan = 100.
a = 0.

while a < tahmin:
    yazılanTahmin = int(input("tahmininiz nedir: "))
    
    if yazılanTahmin == sayı:
        print(f"teprikler sayıyı bildinzi puanız {puan}")
        break
    
    elif yazılanTahmin < sayı:
        print("az söylediniz daha yukarı çıkın ")
        continue
    
    elif yazılanTahmin > sayı:
        print("çok söylediniz birazdaha aşşa ininiz")
        continue
    puan -= (tahmin // yazılanTahmin)
    a+=1.

Yine de çok düzensiz bir yazım biçimi, gerek satıriçi açıklamalarınızda gerek genel kod yazımı, değişken atama gibi durumlarda temiz çalışmalısınız ki sonrasında böyle sıkıntılarla karşılaşmayın.
 
Herkese merhaba, döngüler bitirmeye yakın 2 uygulamam ilki bu diğeri de asal sayı uygulaması ona ayrı bir konu açacağım. Şimdi ben bu gözümü bir hayli korkutan oyunu yazmayı başardım, videoda söylenen maddelerin 2'sini yaptım sın olan madde puandı ne yazık ki onun için yazdıgım kodlar çalışmadı, şöyle bakınca hata da göremedim. İsterseniz bir de siz bakın.

Python:
import random.
sayı = random.randint(1,100)

input("sahı tahmine hoş gediniz başlamak için herhangib bir tuşa basınız: ")

[/QUOTE]
[QUOTE="layk5t, post: 7631911, member: 163046"]
"teprikler sayıyı bildinzi puanız {puan}")
çok söylediniz birazdaha aşşa ininiz")
[/QUOTE]
Büyük ihtimal yazım yanlışlarından dolayı kodları yanlış yazdınız. Kodları kontrol edin.
(teprikler, aşşa, sahı tahmini, herhangib )
 
Son düzenleme:
Videoda söylenen maddelerin 2'sini yaptım sın olan madde puandı ne yazık ki onun için yazdıgım kodlar çalışmadı, şöyle bakınca hata da göremedim.
Ben bu cümleden herhangi bir şey anlamadım. Bu cümlenin 2-3 cümle olması gerektiğini düşünüyorum.
Yazım hataları olabilir bir kodu saat 12 geliyorken yazdım haberiniz olsun.
Bu mazeret değil. Programlamaya yeni başlayan Türk kafasını yaşamayın lütfen.
İnsanlar bekletilmeyi sevmez. İnsanlara bir şey diyecekseniz input ile değil print ile demeniz gerek.

Kodda kullandığınız 8 noktanın sadece 1 tanesi işe yarıyor.
Makarna kod olmasını, yazım hatalarını falan geçiyorum.

Puan hesabınız çok da mantıklı değil gibi. Başta 100 deyip sonra teker teker indirerek yüksek puan alınabiliyor.
Süper bir yanlış yapmışsınız. Her haltın sonuna break, continue yazmışsınız. Sondaki puan ve a += 1 işlemleri yapılmıyor hiçbir zaman.
Girinti hatalarınıza hiçbir şey demiyorum. Siz kodu çalıştırmayınca çalışıyor sanıyorsunuz herhalde.

Kod:
import random
sayı = random.randint(1, 100)

print("Sayı tahmine hoş geldiniz.")
tahmin = int(input("Sayıyı bilmek için kaç hak istersiniz?: "))

puan = 100
a = 0

while a < tahmin:
    yazılanTahmin = int(input("Tahmininiz nedir?: "))

    if yazılanTahmin == sayı:
        print("Tebrikler sayıyı bildiniz. Puanınız: " + str(puan))
        break

    elif yazılanTahmin < sayı:
        print("Az söylediniz, yukarı çıkın.")

    elif yazılanTahmin > sayı:
        print("Çok söylediniz,  aşağı inin.")

    puan -= (tahmin // yazılanTahmin)
    a += 1

else:
    print("Tahmin hakkınız bitti.")
 
Hevesinizi kırmak istemem ama Python ile azıcık uğraşmış birisi bile bu uygulamayı yapabilir ama bu yolda size başarılar.

Yok heves kırmadınız zaten kodu yazmam Max 5dk mı aldı zaten önceden kalma deyimlerim olunca oldukca kolay bir biçimde yazdım.
Ben bu cümleden herhangi bir şey anlamadım. Bu cümlenin 2-3 cümle olması gerektiğini düşünüyorum.

Bu mazeret değil. Programlamaya yeni başlayan Türk kafasını yaşamayın lütfen.
İnsanlar bekletilmeyi sevmez. İnsanlara bir şey diyecekseniz input ile değil print ile demeniz gerek.

Kodda kullandığınız 8 noktanın sadece 1 tanesi işe yarıyor.
Makarna kod olmasını, yazım hatalarını falan geçiyorum.

Puan hesabınız çok da mantıklı değil gibi. Başta 100 deyip sonra teker teker indirerek yüksek puan alınabiliyor.
Süper bir yanlış yapmışsınız. Her haltın sonuna break, continue yazmışsınız. Sondaki puan ve a += 1 işlemleri yapılmıyor hiçbir zaman.
Girinti hatalarınıza hiçbir şey demiyorum. Siz kodu çalıştırmayınca çalışıyor sanıyorsunuz herhalde.

Kod:
import random.
sayı = random.randint(1, 100)

print("Sayı tahmine hoş geldiniz.")
tahmin = int(input("Sayıyı bilmek için kaç hak istersiniz?: "))

puan = 100.
a = 0.

while a < tahmin:
yazılanTahmin = int(input("Tahmininiz nedir?: "))

if yazılanTahmin == sayı:
print("Tebrikler sayıyı bildiniz. Puanınız: " + str(puan))
break.

elif yazılanTahmin < sayı:
print("Az söylediniz, yukarı çıkın.")

elif yazılanTahmin > sayı:
print("Çok söylediniz, aşağı inin.")

puan -= (tahmin // yazılanTahmin)
a += 1.

else:
print("Tahmin hakkınız bitti.")

Sizi oldukça sinirlendirmişim gibi görünüyor haklısınız sonuçta hatalı olan benim zaten hatalarımı öğrenmek için buraya atdım ve bir hayli hatam var gibi görünüyor bundan sonra daha iyi kod yazmak için uğraşacağım şunu da unutmadan yazayım ilk atığım yazı neden öyle olmuş inan hiçbir fikrim yok sanırım farkında olmadan yanlış yazmışım son olarak hatalarımı gösterdiğiniz için teşekkürler.

Not: Her kodun altına continue yazmamım sebebi kod orada durmasın diye yazmışdım.
 
Son düzenleme:
Kod orda durmuyor ki. Hadi onu öyle koydun. While niye var o zaman?

Dostum daha Türkçe yazamıyorsun. Belki bir sağlık problemin falan var o yüzden ama onun dışında da hatalarla dolu. Ben hayatımda C# kodu yazmadım. Şu an açıp kendimce C# syntax'ı uydursam senin yazdığın koddan daha mantıklı olur.

Her şeyden önce paylaştığın kod çalışmıyor. Bu ne demek biliyor musun? Hata var demek. Hatayı bulup düzeltmek yerine sanki düzgünce çalışan, çeşitli eksikleri (genelde mantık hatası şeklinde) olan bir kodu atıp daha neler yapabilirim, nereleri düzeltebilirim diye soruyorsun.
 
Kod orada durmuyor ki. Hadi onu öyle koydun. While niye var o zaman?

Dostum daha Türkçe yazamıyorsun. Belki bir sağlık problemin falan var o yüzden ama onun dışında da hatalarla dolu. Ben hayatımda C# kodu yazmadım. Şu an açıp kendimce C# Syntax'ı uydursam senin yazdığın koddan daha mantıklı olur.

Her şeyden önce paylaştığın kod çalışmıyor. Bu ne demek biliyor musun? Hata var demek. Hatayı bulup düzeltmek yerine sanki düzgünce çalışan, çeşitli eksikleri (genelde mantık hatası şeklinde) olan bir kodu atıp daha neler yapabilirim, nereleri düzeltebilirim diye soruyorsun.

Haklısınız diyeceğim söz yok bu arada yanlış yazmamım sebebi 10 parmakla yazmaya çalışmam diğer sebep ise o kodu yazarken özenmedim nasıl olsa sonra düzeltirim diye onu da yapmadım direk buraya atdım yoksa şükür sağlık problemim yok.

kodları biraz daha düzenledim
Python:
import random
sayı = random.randint(1,100)

print("sayı tahmine hoş gediniz")

hak = int(input("ne kadar hak istiyorsunuz? : "))

puan = 100
a = 0

while a < hak:
    Tahmin = int(input("tahmininiz nedir?: "))
    if Tahmin == sayı:
        print(f"teprikler sayıyı bildinzi puanız: {str(puan)}")
        break
    elif Tahmin < sayı:
        print(f"az söylediniz yukarı çıkın. kullaılan hak: {str(a+1)}")
       
    elif Tahmin > sayı:
        print(f"çok söylediniz aşağıya inin. kullanılan hak: {str(a+1)}")
   
    puan -= (hak // Tahmin)
    a+=1
else:
    print("hakkınız bitdi")

şimdi bir kaç tane sorum olacak. neden a değişkenini str çevirdik int olarak çalışmıyor mu ?
diğer sorum ise elseyi neden döngü dışına yazdınız ki ?
while a < hak:
Tahmin = int(input("tahmininiz nedir?: "))
if Tahmin == sayı:
print(f"teprikler sayıyı bildinzi puanız: {str(puan)}")
break
elif Tahmin < sayı:
print(f"az söylediniz yukarı çıkın. kullaılan hak: {str(a+1)}")

elif Tahmin > sayı:
print(f"çok söylediniz aşağıya inin. kullanılan hak: {str(a+1)}")

puan -= (hak // Tahmin)
a+=1
else:
print("hakkınız bitdi")[/CODE]

şimdi bir kaç tane sorum olacak. neden a değişkenini str çevirdik int olarak çalışmıyor mu ?
diğer sorum ise elseyi neden döngü dışına yazdınız ki ?
 

Yeni konular

Geri
Yukarı