波大大12138 发表于 2020-6-14 11:49:19

看一下这个代码有几个问题

尝试一个新的函数 int_input(),当用户输入整数的def int_input(prompt=''):
    while True:
      try:
            int(input(prompt))
            break
      except ValueError:
            print('出错,您输入的不是整数!')

int_input('请输入一个整数:')

时候正常返回,否则提示出错并要求重新输入。
1.用户输入整数的时候返回?返回是怎么返回的在程序上有什么体现吗?2.这里break的作用在这里怎么理解啊?可以不加吗

Twilight6 发表于 2020-6-14 11:51:38

本帖最后由 Twilight6 于 2020-6-14 11:54 编辑



这样才算正常返回,你之前的函数返回的是 None

def int_input(prompt=''):
    while True:
      try:
            return int(input(prompt))
      except ValueError:
            print('出错,您输入的不是整数!')

int_input('请输入一个整数:')

因为如果题目要求只验证一次,那么加break 验证成功退出循环

但是如果多次验证你输入的值,那么去掉break 才行

老八秘制 发表于 2020-6-14 11:53:25

1.你这根本没有返回语句……
2.不break就无限死循环了

波大大12138 发表于 2020-6-14 12:04:38

Twilight6 发表于 2020-6-14 11:51
这样才算正常返回,你之前的函数返回的是 None




我是直接复制课后33讲作业的答案的代码的,答案是有问题是吗
页: [1]
查看完整版本: 看一下这个代码有几个问题