gpt4 book ai didi

python - 有没有更好的方法来检查输入是否为数字?输入可以是 int 或 float

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:51 24 4
gpt4 key购买 nike

想知道是否有更好的方法来做到这一点。 Python 是我的第一门编程语言。

while True:
amount_per_month = raw_input('\nWhat is the monthly cost?\n==> ')
# seperate dollars and cents.
amount_list = amount_per_month.split(".")
# checking if int(str) is digit
if len(amount_list) == 1 and amount_list[0].isdigit() == True:
break
# checking if float(str) is digit
elif len(amount_list) == 2 and amount_list[0].isdigit() and amount_list[1].isdigit() == True:
break
else:
raw_input('Only enter digits 0 - 9. Press Enter to try again.')
continue

最佳答案

就试着让它成为一个float,如果不能转换就处理抛出的异常。

try:
amount_per_month = float( raw_input('What is the monthly cost?') )
except (ValueError, TypeError) as e:
pass # wasn't valid

TypeError 在这里是多余的,但是如果转换是在其他 Python 对象(不仅仅是字符串)上进行的,那么就需要捕获诸如 float( [1, 2, 3] )

关于python - 有没有更好的方法来检查输入是否为数字?输入可以是 int 或 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925400/

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