Чтобы получить желаемый результат, вам просто нужно немного настроить код, break
в операторе if для компьютера находится вне l oop else, поэтому он остановит выполнение независимо от того, что .
Чтобы противостоять этому условию, вы можете переместить break
внутрь блока else
. Таким образом, программа выйдет из строя только в том случае, если либо ЦП, либо вы правильно угадываете верное число.
Еще одна вещь, на которую я хотел обратить внимание, это то, что вы печатаете номер выбора в программе, если это угадывание игра, разве это не должно быть в задней части кода. Введя напечатанное число, вы можете выиграть игру в первой итерации.
И, чтобы отметить, ваша программа выбирает число из (1, 4)
, но компьютер настроен на угадание числа из (1, 100)
. Пожалуйста, отметьте ответ, если он правильный. Модифицированный код -
import random
the_number = random.randint(1, 4)
guess = 0
while guess != the_number:
guess = int(input("Please enter a number: "))
if guess > the_number:
print("Player guess lower...\n")
elif guess < the_number:
print("Player guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Player wins!")
break
guess = random.randint(1, 4)
if guess > the_number:
print("Computer guess lower...\n")
elif guess < the_number:
print("Computer guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Computer wins!")
break
print("Thank you for playing")