21 Temmuz 2016 Perşembe

Python İle Deneme Yanılma Rakam Bulma Yöntemi

sevgili dostlar;

bir süredir ihmal ettiğimin farkındayım. python ile gelişim sürecimizi biraz sekteye uğramış olarak devam ettirmekteyiz. gelişim sürecimde istifade ettiğim önemli sitelerden biri olan edx'te bir quiz sorusu olarak karşıma şöyle bir soru çıktı.

0 ile 100 arası bir sayı tutun ve tahmin ettiğiniz sayıyı bulmaya çalışan bilgisayar programını yazın. önceki dersleri kontrol ettiğimde deneme yanılma diyebileceğimiz bir yaklaşma metodu kullanılıyordu. bunun için ben de bunun biraz uğraştım.

çıkan sonuç:



print ("Please think of a number between 0 and 100!")
high = 100
low = 0
   while True:
         average = int((high + low)/2)
         print ("Is your secret number ", average ,"?")
         x = input ("Enter 'h' to indicate the guess is too high. Enter 'l' to indicate the guess is too low. Enter 'c' to indicate I guessed correctly." )
         if x == "h":
                  low = average
         elif x == "l":
                  high = average
         elif x == "c":
                  break
         else:
                  print ("Enter a proper choice.")
print ("Programme accomplished its duty")

aynı kodlar üzerinden biraz daha oynama yapalım. mesela 1 ile 100 arasında değil de bizim gireceğimiz rakamlar arasında bir tahmin yapsın:

print ("Please think of a number between variable high and variable low!")
high = int(input ("Enter the high variable number: "))
low =  int(input ("Enter the low number: "))
   while True:
         average = int((high + low)/2)
         print ("Is your secret number ", average ,"?")
         x = input ("Enter 'h' to indicate the guess is too high. Enter 'l' to indicate the guess is too low. Enter 'c' to indicate I guessed correctly." )
         if x == "h":
                  low = average
         elif x == "l":
                  high = average
         elif x == "c":
                  break
         else:
                  print ("Enter a proper choice.")
print ("Programme accomplished its duty")

Bu kez doğal sayılar yerine küsüratlı rakamları da dahil edelim:

print ("Please think of a number between variable high and variable low!")
high = float(input ("Enter the high variable number: "))
low =  float(input ("Enter the low number: "))
   while True:
         average = float((high + low)/2)
         print ("Is your secret number ", average ,"?")
         x = input ("Enter 'h' to indicate the guess is too high. Enter 'l' to indicate the guess is too low. Enter 'c' to indicate I guessed correctly." )
         if x == "h":
                  low = average
         elif x == "l":
                  high = average
         elif x == "c":
                  break
         else:
                  print ("Enter a proper choice.")
print ("Programme accomplished its duty")

başka bir modifikasyon şu an için aklıma gelmedi.

ilerleyen zamanlarda keyfim yerinde olursa bir iki adım daha eklerim.

Hiç yorum yok:

Yorum Gönderme