所以,我有允许两个输入的代码:
a, b = input("Enter a command: ").split()
if(a == 'hello'):
print("Hi")
elif(a == 'color' and b == '3'):
print("Changing color to 3")
#example, doesn't actually change color
elif(a == 'color' and b == '2'):
print("Changing color to 2")
else:
print("invalid command")
并且“颜色 2”/“颜色 3”有效。然而,输入“你好”,因为它是 一个词,给我这个错误:
ValueError: not enough values to unpack (expected 2, got 1)
那么,我该如何解决/解决这个问题? 我希望这是正确的格式和一切,感谢您花时间看问题。我是 python 的新手,很抱歉,如果这是一个简单的修复。
请您参考如下方法:
如果您事先不知道命令有多少个参数,则不能使用此结构:
a, b = input("Enter a command: ").split()
您可以这样尝试:
a, _, b = input("Enter a command: ").partition(' ')
或者,我可以建议使用更冗长的变量名:
command, separator, arguments = input("Enter a command: ").partition(' ')
它适用于第一个“命令”字后的任意数量的参数,因为 str.partition保证返回一个 3 元组。
