Это небольшой эксперимент, который я пытаюсь изучать Python. Это означает, что это слот-автомат на основе текстовых файлов, где 3 слота «прокатываются», и один из 4 возможных вариантов выбирается для каждого . Если совпадают 2 числа, дается 5 баллов. Если все 3 соответствуют, 10 даны. После запуска этой функции игра печатает свой текущий счет, спрашивает, хочет ли пользователь снова играть. На этой части кода:Python игнорирует вход для raw_input и продолжает повторять функцию
def ask():
play_again = raw_input ("Do you want to play again? (Yes or No):")
if play_again == "yes" or "Yes":
run_machine()
elif play_again == "No" or "no":
print "Bye!"
sys.exit(1)
else:
print "I don't know what that means"
ask()
Где main_функция run_machine(). Однако независимо от ввода, программа повторяет. Я новичок в python, поэтому это может быть что-то простое, но я хотел посмотреть, что может быть проблемой. Если это не что-то в этом блоке, то здесь полная программа:
import random
slot_1 = [1,2,3,4]
slot_2 = [1,2,3,4]
slot_3 = [1,2,3,4]
points = 0
def role(slot):
return (random.choice(slot))
def run_machine():
print "ROLLING!"
first = role(slot_1)
second = role(slot_2)
third = role(slot_3)
global points
if (first == second) or (first == third) or (second == third):
if (first == second) and (second == third):
print "You got 10 points! Full matches!"
points = points + 10
else:
print "You got 5 points, 2 matched!"
points = points + 5
else:
print "Sorry try again!"
print "You now have %s points" % points
ask()
def ask():
play_again = raw_input ("Do you want to play again? (Yes or No):")
if play_again == "yes" or "Yes":
run_machine()
elif play_again == "No" or "no":
print "Bye!"
else:
print "I don't know what that means"
ask()
run_machine()
альтернативно: 'if play_again in ('yes', 'Yes'):' но какой OP, вероятно, будет доволен, это 'if play_again.lower() == 'yes':' –
О, да, это была довольно большая случайность моя часть. Забыл о синтаксисе. Кроме того, я думаю, что реализация дела ниже сделала бы это намного проще, так что спасибо Райан. – user3234240