gpt4 book ai didi

python - Python输入数据类型处理

转载 作者:行者123 更新时间:2023-12-03 08:00:30 26 4
gpt4 key购买 nike

我花了一个小时或更长时间在这里寻找答案。我发现了一些有用的方法,但没有具体回答我的问题。我正在使用Python 3.3.3。我是新手,所以请保持温柔。

我正在尝试创建一个需要用户输入的程序,但是随后我需要进行检查以查看该输入是什么数据类型,然后根据该数据类型采取一定的措施。

除了在此列表中找到的字符串以外的任何字符串:
valid_help_string_list = ['\'help\'', '\'HELP\'', 'help', 'HELP']
应打印以下内容:

“请输入有效的条目”或类似的内容。

任何整数(大于0但小于500)都应使用float()使行对齐。

任何浮点数(大于0.0但小于500.0)均有效。

为了这个项目,我假设没有人使用它的重量低于100磅或超过500磅。

不属于这些类别的任何内容也应向用户产生相同的“请输入有效响应”错误消息。

我认为对于新手来说,一个项目足够简单。该程序旨在让您输入体重,然后根据该体重创建一个象形图,并将其全部保存到我为此设置的.txt文件的下一个打开行中。或者,如果您想查看象形图的图例,则应该能够在该列表中找到的任何变化中键入帮助。

任何帮助将非常感激。

最佳答案

默认情况下,用户输入将是字符串,因此我们需要检查它是否可以变为整数或浮点型。因为无论如何要转换浮点数中的整数,所以不需要做任何复杂的事情:

def validate_input(val, min_v=100, max_v=500):
try:
val = float(val)
except ValueError:
print("Not a valid entry")
else:
if not min_v < val <= max_v:
print("Value should be between {} and {}".format(min_v, max_v))
else:
return val
return False

现在您的调用循环可以读取:
while True:
val = input("...")
if val in valid_help_string_list:
# print help
else:
val = validate_input(val)
if val:
break
# use val

注意,这取决于 validate_input的返回值是 False还是大于 0的数字; Python将零返回值解释为 False而不到达 break,因此我建议保留 min_v >= 0

关于python - Python输入数据类型处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097702/

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