马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Peteryo01223 于 2021-1-28 17:03 编辑
原题:
尝试一个新的函数 int_input(),当用户输入整数的时候正常返回,否则提示出错并要求重新输入。
正确答案:如下 code。小甲鱼用的是 prompt,我抄写时用的是 a,其他都一样。
问题:我提两个小问题,如注释 #,请高手解答。谢谢~def int_input(a=''):
# 问题1:括号里的 a='' 有什么意义?空置不行么?
while True:
# 问题2:这里为何要开始循环?没有这个 while,难道 code 就不能运行吗?反而,因为有了 while 循环,后面还得专门写个 break,这不多此一举么?
try:
int(input(a))
break
except ValueError:
print('出错了,你输入的不是个整数。')
int_input('请输入一个整数:')
# 问题1:括号里的 a='' 有什么意义?空置不行么?
这是定义函数设置的默认值,如果设置了默认值,那么该函数被调用时没有特殊需要就可以直接进行调用,如:int_input( )
而如果没有设置默认值,那么 int_input 函数调用时必须传入参数,如:int_input('FishC')
# 问题2:这里为何要开始循环?不循环,程序就不能运行吗?有了循环,后面还得写个 break,多余么?
不多于,因为如果你 input 输入的值是错误的,这个循环就会让你重新输入
因为 break 这行代码被 try 报错捕获了导致没有执行 break 执行 except 执行下次循环,直到你输入的值是正常的,即不报错,执行 break 退出循环
|