gpt4 book ai didi

Python 2.7 - 无效文字错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:35 26 4
gpt4 key购买 nike

Python 版本 - 2.7.11

我正在关注 Zed Shaw 的艰难地学习 Python,目前在 Exercise 21

我正在尝试修改代码,以便脚本提示用户输入值(年龄、高度等),而不是对它们进行硬编码。

在其他一切保持不变的情况下,我修改了这一行:

age = add(float(raw_input('Enter 2 numbers')))

..并输入两个数字 (5, 1) 导致以下错误:-

ValueError: invalid literal for float(): 5,2

我用 int(raw_input()) 替换了 float(raw_input()) 并给出了以下错误

ValueError: invalid literal for int() with base 10: '5,1'

有人可以告诉我哪里出错了吗?

最佳答案

在将它们转换为 float 之前,您需要将输入分成两个数字;使用 str.split() :

while True:
ages = raw_input('Enter 2 numbers')
try:
age1, age2 = [float(age) for age in ages.split(',')]
break
except ValueError:
print("Sorry, you did not enter two numbers, try again")

add(age1, age2)

我添加了一个 while True 循环,以便在出现错误时不断询问正确的输入;如果 float() 无法转换值,或者如果没有足够或太多的输入,则会引发 ValueError 异常。如果转换成功并且恰好有两个值分配给 age1age2,则不会引发异常并且 break 语句退出无限循环。参见 Asking the user for input until they give a valid response有关其工作原理的更多详细信息。

关于Python 2.7 - 无效文字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650733/

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