gpt4 book ai didi

Python:为什么我会收到 ValueError:要解压的值太多

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:40 27 4
gpt4 key购买 nike

我不确定为什么会收到此错误。我已经阅读并尝试了不同的东西,但它不起作用。

def product():

y, x= raw_input('Please enter two numbers: ')
times = float(x) * int(y)
print 'product is', times
product()

我做错了什么?非常感谢

最佳答案

raw_input 返回单个字符串。要像您一样解压缩参数,它需要返回 2 个东西。

你可以这样做:

y, x = raw_input('Please enter two numbers (separated by whitespace): ').split(None,1)

请注意,这仍然有点脆弱,因为用户可以输入类似“2 1 3”的字符串。解包将无一异常(exception)地工作,但在尝试将“1 3”转换为整数时它会阻塞。执行这些操作的最可靠方法是通过 try/except block 。以下是我的做法。

while True: #try to get 2 numbers forever.
try:
y, x = raw_input("2 numbers please (integer, float): ").split()
y = int(y)
x = float(x)
break #got 2 numbers, we can stop trying and do something useful with them.
except ValueError:
print "Oops, that wasn't an integer followed by a float. Try again"

关于Python:为什么我会收到 ValueError:要解压的值太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com