我要做的是让用户输入一个名称,然后程序将这个名称加上Move
,然后获取一个名为*name*Move
的集合。你知道吗
以下是我到目前为止的代码,以及我想在**
内执行的操作:
fredMove = set(["move1","move2","move3","move4"]) #different data
joeMove = set(["move","move","move3","move4"]) #for each name
chrisMove = set(["move1","move2","move3","move4"]) #this is just
timMove = set(["move1","move2","move3","move4"]) #easier to write out
#I have many more lists, as well
name = input("What is the name you are looking for? ").lower
def moveChecking(move1,move2,move3,move4,name):
if (move1 not in *name*Moves):
print("Move 1 not found!")
if (move2 not in *name*Moves):
print("Move 2 not found!")
if (move3 not in *name*Moves):
print("Move 3 not found!")
if (move4 not in *name*Moves):
print("Move 4 not found!")
move1 = input("Enter move 1 = ")
move2 = input("Enter move 2 = ")
move3 = input("Enter move 3 = ")
move4 = input("Enter move 4 = ")
moveChecking(move1,move2,move3,move4,name)
有没有什么方法可以让我避免为每个人的名字创建moveChecking()
呢?你知道吗
创建移动集的字典,然后按名称访问它们
然后在
moveChecking
中使用他们有很多很多丑陋的方法来做你想做的事情,就像你描述的那样(基本上是在模块级做
getattr
),然而这看起来更像是一个糟糕的设计案例。为什么不使用dictionary
而不是将一堆集合直接分配给命名变量,用它们key
作为名称,用value
作为集合?例如:然后你可以简单地把动作设置成这样:
使用字典。你知道吗
相关问题 更多 >
编程相关推荐