Bilgisayarın tutulan sayıyı tahmin etmesi

memospiremses

Decapat
Katılım
27 Haziran 2022
Mesajlar
20
Daha fazla  
Cinsiyet
Erkek
Python:
import random
bildi=False
tahmin=0
a=0
while a==0 :
    tut1 = str(random.randint(1000,9999))
    if tut1[0] != tut1[1] and tut1[0] != tut1[2] and tut1[0] != tut1[3] and tut1[1] != tut1[2] and tut1[1] != tut1[3] and tut1[2] != tut1[3] :
        a=1

while (bildi==False):

    sayi = input("4 basamaklı bir sayı giriniz =" )
    tahmin+=1
    if (int(sayi)>1000 and int(sayi)<9999):
        a=0
        if sayi[0] != sayi[1] and sayi[0] != sayi[2] and sayi[0] != sayi[3] and sayi[1] != sayi[2] and sayi[1] != sayi[3] and sayi[2] != sayi[3] :
            a=1
        else:
            tahmin-=1
            print ("rakamları farklı giriniz")
      
        while (a==1):
            ayni = 0
            fark = 0
            if sayi[0] == tut1[0] :
                ayni +=1
            if sayi[1] == tut1[1] :
                ayni +=1
            if sayi[2] == tut1[2] :
                ayni +=1
            if sayi[3] == tut1[3] :
                ayni +=1
            if sayi[0] == tut1[1] or sayi[0] == tut1[2] or sayi[0] == tut1[3] :
                fark -=1
            if sayi[1] == tut1[0] or sayi[1] == tut1[2] or sayi[1] == tut1[3] :
                fark -=1
            if sayi[2] == tut1[0] or sayi[2] ==tut1[1] or sayi[2] ==tut1[3] :
                fark -=1
            if sayi[3] == tut1[0] or sayi[3] == tut1[1] or sayi[3] == tut1[2] :
                fark -=1
            print(fark)
            print(ayni)
            a=0
    else:
        tahmin-=1
        print(" dört basamaklı giriniz")
      
    if (ayni==4):
        bildi=True
        print("su kadar tahminde bildiniz",tahmin)



Arkadaşlar merhaba. Bir tane proje yapmam lazım karşılığında oyun kolu kazanacağım. Python'da bizim tuttuğumuz 4 basamaklı sayıyı sora sora tahmin edecek kod lazım. Yazdığım bu kodun tam tersi olacak.
Örnek: Diyelim ki tuttuğum sayı 1375 olsun.
Bilgisayar 1000 ile 9999 arasından rastgele bir sayı söyleyecek . Söylediği sayı 1475 olsun. Ben tuttuğum sayıya bakıyorum ve 1'lerin aynı yerde olduğunu görüyorum ve +1 yazıyorum. Sonrasında 7 ve 5'e bakıyorum. tuttuğum sayıda da bilgisayarın söylediği sayıda da var ama aynı yerlerinde değiller. O yüzden -2 diyorum. Bilgisayarda bunları aklında tutup sırasıyla rakamları eleyerek ve doğru yere koyarak tuttuğum sayıyı buluyor. Kodu nasıl yazabilirim. Teşekkürler.
 
Son düzenleyen: Moderatör:
Python:
import random
bildi=False
tahmin=0
a=0
while a==0 :
    tut1 = str(random.randint(1000,9999))
    if tut1[0] != tut1[1] and tut1[0] != tut1[2] and tut1[0] != tut1[3] and tut1[1] != tut1[2] and tut1[1] != tut1[3] and tut1[2] != tut1[3] :
        a=1

while (bildi==False):

    sayi = input("4 basamaklı bir sayı giriniz =" )
    tahmin+=1
    if (int(sayi)>1000 and int(sayi)<9999):
        a=0
        if sayi[0] != sayi[1] and sayi[0] != sayi[2] and sayi[0] != sayi[3] and sayi[1] != sayi[2] and sayi[1] != sayi[3] and sayi[2] != sayi[3] :
            a=1
        else:
            tahmin-=1
            print ("rakamları farklı giriniz")
    
        while (a==1):
            ayni = 0
            fark = 0
            if sayi[0] == tut1[0] :
                ayni +=1
            if sayi[1] == tut1[1] :
                ayni +=1
            if sayi[2] == tut1[2] :
                ayni +=1
            if sayi[3] == tut1[3] :
                ayni +=1
            if sayi[0] == tut1[1] or sayi[0] == tut1[2] or sayi[0] == tut1[3] :
                fark -=1
            if sayi[1] == tut1[0] or sayi[1] == tut1[2] or sayi[1] == tut1[3] :
                fark -=1
            if sayi[2] == tut1[0] or sayi[2] ==tut1[1] or sayi[2] ==tut1[3] :
                fark -=1
            if sayi[3] == tut1[0] or sayi[3] == tut1[1] or sayi[3] == tut1[2] :
                fark -=1
            print(fark)
            print(ayni)
            a=0
    else:
        tahmin-=1
        print(" dört basamaklı giriniz")
    
    if (ayni==4):
        bildi=True
        print("su kadar tahminde bildiniz",tahmin)
Tüm dilleri karıştırmışsınız bir programda.

Ayrıca forumdan yardım istemeniz yanlış çünkü bunu kar için yapıyorsunuz.
 
Yukarda takip et tuşu var :D
1659190353881.png
 
Python:
import random
bildi=False
tahmin=0
a=0
while a==0 :
    tut1 = str(random.randint(1000,9999))
    if tut1[0] != tut1[1] and tut1[0] != tut1[2] and tut1[0] != tut1[3] and tut1[1] != tut1[2] and tut1[1] != tut1[3] and tut1[2] != tut1[3] :
        a=1

while (bildi==False):

    sayi = input("4 basamaklı bir sayı giriniz =" )
    tahmin+=1
    if (int(sayi)>1000 and int(sayi)<9999):
        a=0
        if sayi[0] != sayi[1] and sayi[0] != sayi[2] and sayi[0] != sayi[3] and sayi[1] != sayi[2] and sayi[1] != sayi[3] and sayi[2] != sayi[3] :
            a=1
        else:
            tahmin-=1
            print ("rakamları farklı giriniz")
     
        while (a==1):
            ayni = 0
            fark = 0
            if sayi[0] == tut1[0] :
                ayni +=1
            if sayi[1] == tut1[1] :
                ayni +=1
            if sayi[2] == tut1[2] :
                ayni +=1
            if sayi[3] == tut1[3] :
                ayni +=1
            if sayi[0] == tut1[1] or sayi[0] == tut1[2] or sayi[0] == tut1[3] :
                fark -=1
            if sayi[1] == tut1[0] or sayi[1] == tut1[2] or sayi[1] == tut1[3] :
                fark -=1
            if sayi[2] == tut1[0] or sayi[2] ==tut1[1] or sayi[2] ==tut1[3] :
                fark -=1
            if sayi[3] == tut1[0] or sayi[3] == tut1[1] or sayi[3] == tut1[2] :
                fark -=1
            print(fark)
            print(ayni)
            a=0
    else:
        tahmin-=1
        print(" dört basamaklı giriniz")
     
    if (ayni==4):
        bildi=True
        print("su kadar tahminde bildiniz",tahmin)



Arkadaşlar merhaba. Bir tane proje yapmam lazım karşılığında oyun kolu kazanacağım. Python'da bizim tuttuğumuz 4 basamaklı sayıyı sora sora tahmin edecek kod lazım. Yazdığım bu kodun tam tersi olacak.
Örnek: Diyelim ki tuttuğum sayı 1375 olsun.
Bilgisayar 1000 ile 9999 arasından rastgele bir sayı söyleyecek . Söylediği sayı 1475 olsun. Ben tuttuğum sayıya bakıyorum ve 1'lerin aynı yerde olduğunu görüyorum ve +1 yazıyorum. Sonrasında 7 ve 5'e bakıyorum. tuttuğum sayıda da bilgisayarın söylediği sayıda da var ama aynı yerlerinde değiller. O yüzden -2 diyorum. Bilgisayarda bunları aklında tutup sırasıyla rakamları eleyerek ve doğru yere koyarak tuttuğum sayıyı buluyor. Kodu nasıl yazabilirim. Teşekkürler.
Çok zor gibi durmuyor. İyi bir phyton bilgim yok lakin yapabilirsin diye düşünüyorum. Yapacağımız şeyleri söylemişsin bunu koda dökmek çok zor birşey değil. Eğer bunu dönüştüremiyorsan ödülü hak edememişsin zaten.
 

Technopat Haberler

Yeni konular

Geri
Yukarı