所以我对编程很新,我正在使用Python(v3.33)创建这样的小程序:
option = input('What Game Would You Like To Play? A, B, C, or D? ')
option == 'A'
guess = int(input('Guess a number: '))
while True:
while guess != 100:
if guess > 100:
print('Too High... Try Again')
if guess < 100:
print('Too Low... Try Again')
guess = int(input('Guess a number: '))
if guess == 100:
print('You Win')
break
option == 'B'
guess = int(input('Guess a number: '))
while True:
while guess != 50:
if guess > 50:
print('Too High...Try Again')
if guess < 50:
print('Too Low... Try Again')
guess = int(input('Guess a number: '))
if guess == 50:
print('You Win')
break
这是我的问题 - 我希望用户能够选择“A”或“B”(我将添加“C”和“D”,但希望先解决问题)但该程序会引导用户通过'A'自动然后再到'B':我如何得到它,以便用户可以选择'A'和'B'。 此外,我如何制作它,以便用户可以选择说“是”或“否”,如果他们想再次运行它。 感谢
答案 0 :(得分:1)
将整个事物包裹在while循环中:
while True:
option = input('What Game Would You Like To Play? A, B, C, or D (Q to quit)? ').upper() # this can accept both lower and upper case input
if option == 'Q':
break
elif option == 'A':
Do some code
elif option == 'B':
Do some code
elif option == 'C':
Do some code
elif option == 'D':
Do some code
else:
print ("You didn't enter a valid choice!")
关于您的代码:
option == 'A'
该行只是测试选项是否等于'A'。它会返回True
或False
。
您想测试选项的实际值。因此上面的if
语句。
您的代码只是在所有方案中运行,因为您没有提供应该发生事情的条件。只有当option == 'A'
代码应该运行时才会运行。只有当option == 'D'
代码才能运行时。并且只有当option == 'Q'
主循环断开时。这是何时使用if
语句的一个很好的例子。
修改强>
关于您的评论,您可以执行以下操作:
option = input('What Game Would You Like To Play? A, B, C, or D (Q to quit)? ')
if option == 'a': # upper is gone, you can specify upper or lower case 'manually'
do this
if option == 'A':
do this
或
if option in ['a', 'A']: # this basically same effect as my original answer
do something
查看str.upper()
方法的工作原理here
答案 1 :(得分:1)
它会引导您完成这两个选项,因为您没有使用选项检查。
虽然您的代码技术上正在检查option == 'A'
,然后检查option == 'B'
,但它不会检查其中一个,也不会对该检查做任何事情。< / p>
相反,你会想要:
option = input('What Game Would You Like To Play? A, B, C, or D? ')
if option == 'A':
guess = int(input('Guess a number: '))
....
break
elif option == 'B':
guess = int(input('Guess a number: '))
....
break
elif
代替else
,因此您可以为选项C和D添加代码。