我有一个学校的任务(好吧,这是额外的功劳,是确切的)我需要使用函数来检查输入的值是否是整数。 这是功能我的老师希望我们用下手:Python enterInteger函数 - 检查有效整数
def enterInteger():
enteredValue = input(‘Please enter an Integer:’
return int(enteredValue)
- 没有参数
- 将返回一个有效的整数
- 将循环,直到输入有效的整数
- 提供关于为什么输入错误的错误消息
- 无论输入什么,它都不会崩溃
- 如果它进入无限循环,它不工作!
我试着搞乱了一堆不同的代码,但无济于事。这是代码我经历过最多的运气(这是超级马虎,我知道我已经没有太大的教学编码的Python 3周左右为止。):
def enterInteger():
check = 0
enteredValue = input('Please enter an Integer: ')
while check == 0:
if "." in enteredValue:
print("The entered value has a decimal! Not an integer!")
return
elif "\\" in enteredValue:
print("The entered value is a fraction! Not an integer!")
return
elif "/" in enteredValue:
print("The entered value is a fraction! Not an integer!")
return
else:
return int(enteredValue)
enteredValue = 0
check = 1
check = enterInteger()
if type(check) is int:
print("The entered value is an integer!")
else:
enterInteger()
当我运行这一点,输入一个真正的整数,它工作正常,但如果我输入一个非整数,它不会正确进入循环。如果我输入一个非整数后跟一个整数,它也不起作用。
任何帮助,我可以得到将非常感谢!
你可能想看看'try';可以使这个既简单又有效。 –
你为什么使用'while'循环?你回到每一个你的分支,所以它只能迭代一次... –