String 以字符串形式显示除整数检查外的重试结果
我需要一个函数来检查不同的用户输入变量是整数。 最终应向用户确认结果。 检查的工作原理是它一直循环,直到输入整数, 但无法获得要显示的结果String 以字符串形式显示除整数检查外的重试结果,string,exception,python-3.x,String,Exception,Python 3.x,我需要一个函数来检查不同的用户输入变量是整数。 最终应向用户确认结果。 检查的工作原理是它一直循环,直到输入整数, 但无法获得要显示的结果 def chkint(msg): while True: try: n = input(msg) return(int(n)) except ValueError: print("Please enter an actual integer.")
def chkint(msg):
while True:
try:
n = input(msg)
return(int(n))
except ValueError:
print("Please enter an actual integer.")
number1 = input (chkint("Please enter first value:"))
number2 = input (chkint("Please enter second value:"))
results = (number1, number2)
print ("I have accepted: " + str (results))
没有回答,所以我只是在玩这个,嘿,普雷斯托,它很有效
def chkint(msg):
while 1:
try:
n = input(msg)
return(int(n))
except ValueError:
print("Please enter an integer.")
number1 = chkint("Please enter first value:")
number2 = chkint("Please enter second value:")
results = [number1, number2]
print ("I have accepted: " + str (results))
在try:
块中将其强制转换为int()
,这是检查数字的好方法。在最初的尝试中,您请求的是一个输入,其消息依赖于进一步的输入
错误的简化版本:
def getMessage():
return input() # this asks the user what to ask the user for
input(getMessage()) # this waits for getmessage to finish before asking the user
与您一样,删除input()
语句是最简单的修复方法。但更具可读性的修复方法是让
chkint(msg)
什么都不做,只根据字符串是否为数字返回true或false,如下所示
def chkint(msg): # returns true if the string can be converted, false otherwise
try:
int(msg)
except ValueError:
return False
return True
你想要什么样的显示器?“我已经接受了:”后面跟两个数字,或者按照你的问题建议跟踪异常文本?对不起,是的,我希望它显示两个插补的数字。老实说,我不是100%确定函数的逻辑。