Skip to main content
 首页 » 编程设计

python之如何在 "two-input input"中允许单个输入

2025年05月04日23虾米哥

所以,我有允许两个输入的代码:

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 元组。