Programda random verilen sayıların katlarını bilmeye çalışıyoruz doğru bilirsek dogru yanlış bilirsek veya aynı sayıyı girersek yanlış cevabını alıyoruz. Program doğru çalışıyor ama kullanıcıyı programın amacı hakkında bilgilendirmek için
(a, “sayısının bir katını giriniz”)
Kodunu denedim ve hata aldım. bende .format ile denedim;
(a{}).format(" sayısının bir katını giriniz")
yine olmadı
İşte program;
import random
while True:
a = (random.randint(1,10))
b = int(input(s))
if b%a == 0 and b != a:
print(“dogru”)
else:
print(“yanlis”)
Burada bir tuple oluşturuyorsunuz.
Buna ek olarak s değerini, döngüden önce oluşturduğunuz için, girdi alınırken hep aynı sayı için alınacak.
Bunun yerine döngü içerisinde, a değeri yeniden oluşturulduğunda s değerini de yeniden oluşturmalısınız.
Bunu şu 3 farklı şekilde yapabilirsiniz:
1
import random
while True:
a = random.randint(1, 10)
s = str(a) + " sayısının bir katını giriniz: "
b = int(input(s))
if b % a == 0 and b != a:
print("doğru")
else:
print("yanlış")
2
import random
while True:
a = random.randint(1, 10)
s = f"{a} sayısının bir katını giriniz: "
b = int(input(s))
if b % a == 0 and b != a:
print("doğru")
else:
print("yanlış")
3
import random
while True:
a = random.randint(1, 10)
s = "{} sayısının bir katını giriniz: ".format(a)
b = int(input(s))
if b % a == 0 and b != a:
print("doğru")
else:
print("yanlış")