Программирование , не получается написать код "Угадай число"
Написал детский код на python "Угадай число от 1 до 4"
И вот в цикле while, после оператора if идет b == "да" or "Да".
Программа исправно работает если там только один вариант, без or, например
b == "да". А вот если же там or, то без разницы что ответишь на "Хочешь попробовать еще?" программа продолжает работать, хотя и должна выводится надпись Эх, я еще хотел поиграть
from random import randint
print ("Игра - угадай загаданное число")
number = int ( input ("\nКак думаешь, какое целое число я загадал от 1 до 4 ? - " ) )
r = randint ( 1, 4 )
if number == r :
print ("Ух, ты. Верно")
b = input ("\nХочешь попробовать еще? - ")
else :
print ("ой, не правильно, загаданное число -", r)
b = input ("\nХочешь попробовать еще? - ")
while True :
if b == "да" or "Да" :
number = int ( input ("\nКак думаешь, какое число я загадал от 1 до 4 ? - " ) )
r = randint ( 1, 4 )
if number == r :
print ("Ух, ты. Верно")
b = input ("\nХочешь попробовать еще? - ")
else :
print ("ой, не правильно, загаданное число -", r)
b = input ("\nХочешь попробовать еще? - ")
else :
print ("\nЭх, я еще хотел поиграть")
break
input()
import random
def game(l, r):
x = random.randint(l, r)
print(f"Try to guess number from {l} to {r}")
if int(input()) == x:
print(f"Congratulations! You are right! It was {x}")
else:
print(f"Oops! You are wrong! The right answer was {x}")
print("Do you want to play again? Y/y - for yes, other - for no:")
if input().lower() == "y":
game(l, r)
else:
print("It's the end! Thank you for playing!")
game(1, 4)
код конечно намного красивее моего и практичнее, но я еще не дошел до def, и даже не понимаю для чего используются {} в {1} и {r}. Но за код спасибо, сохраню. Потом более детальнее рассмотрю чтобы понять что да как работает
И вот я хоть немного почитал код, и ,боже, какой же он гениальный для меня. Просто идеал. Спасибо за motivation
b == 'да' or b == 'Да'
или
b in ['да', 'Да']
или
b.lower() == 'да'
А b == "да" or "Да" означает (b == "да") or "Да" и ВСЕГДА равно True.
Спасибо большое
В нормальных языках не
if b == "да" or "Да"
а
if b == "да" or b=="Да"
про пайтон не знаю
Все заработала, спасиб. Теперь знать буду