【发布时间】:2018-11-22 21:57:15
【问题描述】:
我正在尝试验证一组用户输入(7 小时内每小时收集的一品脱血液)是否包含负数、空格和/或字母。目前,如果检查用户输入的 if 语句低于 0,程序会收到类型错误:“'
inputPints = []
totalPints = 0
hours = ["#1", "#2", "#3", "#4", "#5", "#6", "#7"]
def userInput():
for hour in hours:
inputPints.append(int(input("Enter pints collected for hour {}: ".format(hour))))
if inputPints<0:
inputPints.append(int(input("Please enter a whole number {}: ".format(hour))))
userInput()
def userOutput():
print("")
print("Average number of pints donated is: ", "{:.2f}".format(import_functions.averagePints(totalPints, 7)))
print("Most pints donated is: ", import_functions.maxPints())
print("Least pints donated is: ", import_functions.minPints())
print("")
userOutput()
【问题讨论】:
-
您在寻找
if len(inputPints) < 0吗?因为您正在将列表与整数0.. 进行比较,正如错误所说。或者,如果最后一个输入的长度小于零,您是否正在寻找if len(inputPints[-1]) < 0? -
为什么要在 已经附加输入之后执行检查?你想如何从错误的值中恢复?你想如何处理重复的错误输入?
-
好问题。老实说,我无法告诉你,因为大约 6 周前我还是 Python 新手。我试过 length 函数,它没有返回错误,但它没有向用户显示他们输入的整数无效。
标签: python validation