这是我代码的摘录!
division = ["Division","Divide","/","div"]
multiplication =["*","x","times","multiply","multiplication","multiple"]
subtraction = ["-",'minus','subtract','subtraction']
addition = ['+','plus','addition','add']
root = ['root','squareroot','square root']
square = ['square','squared','power 2']
choice = input('calculation type')
print(choice == (division or multiplication or subtraction or addition))到目前为止,它只给出“假”。如何检查变量是否存在于多个列表中?我试着在名单里列清单,但我还是觉得“假”,这是代码.
division = ["Division","Divide","/","div"]
multiplication = ["*","x","times","multiply","multiplication","multiple"]
subtraction = ["-",'minus','subtract','subtraction']
addition = ['+','plus','addition','add']
root = ['root','squareroot','square root']
square = ['square','squared','power 2']
basic_double = [division,multiplication,subtraction,addition]
basic_single = [root,square]
choice = input('calculation type')
print(choice == basic_double or basic_single)如有任何帮助,将不胜感激!
发布于 2016-11-15 23:15:04
测试choice是否在列表的any中:
any(choice in ls for ls in [division, multiplication, subtraction, addition])如果给定可迭代的元素中至少有一个是真实的,则any返回True。
choice in ls测试选择是否是列表中的一个元素。
choice in ls for ls in [division, multiplication, subtraction, addition]是一个生成器理解,这意味着它是一个迭代器,它返回choice in ls对于[division, multiplication, subtraction, addition]中任何可能的ls的结果。
如果其中一个列表包含choice,则any将返回True,否则返回False。
发布于 2016-11-15 23:19:14
您可以使用itertools.chain()在所有列表中检查选择如下:
if choice in chain(division, multiplication, subtraction, addition):发布于 2016-11-15 23:16:02
现在,您正在将字符串、选择与一系列列表进行比较。当您比较两种不同的数据类型时,这永远不会是真的。
您应该使用"in“关键字对每个列表进行检查。
if choice in division:
#this returns true if the String set to choice is in the list of objects in division.
else if choice in multiplication:
.
.
.这种比较将帮助您在列表中找到要查找的单词。
https://stackoverflow.com/questions/40621370
复制相似问题