如果这三个单词都是必需的,那么这将起作用,但当输入'a','B','D'时,它会打印:“X是一个方框”。我希望“A”、“B”、“D”只打印:“X是三角形”,“X是盒子”只在“A”、“B”、“C”为输入时打印
while True:
begin = input('prompt ')
if 'A' and 'B' and 'C' in begin:
answer = ('\n X is a box')
print(answer)
continue
elif 'A' and 'C' and 'D' in begin:
answer = ('\n X is a circle')
print(answer)
continue
elif 'A' and 'B' and 'D' in begin:
answer = ('\n X is a triangle')
print(answer)
continue
elif '' in begin:
print('not a shape')
这是我为初学者项目创建的游戏的简化版本。谢谢你的关注
欢迎使用S/O。请注意
in
只是检查变量begin
中是否有任何有问题的字符。要实现预期的功能,请按以下方式进行更改您的输入必须与以下任一项匹配:
‘A’、‘B’、‘C’
‘A’、‘C’、‘D’
‘A’、‘B’、‘D’
更新:
当前代码无法适应您的新问题。要过滤掉不必要的单词,请遵循以下方法
split方法将有助于忽略不必要的单词,请参见here
如您所见,如果您传入输入
"A who B when XXX C"
,if将执行并打印X is a box
。将同样的逻辑应用到条件语句的其他部分,应该可以解决您的问题相关问题 更多 >
编程相关推荐