计数器问题
1.我想问一下,在循环过程中计数器的位置,在3-28练习题中,内外循环的 i = 0都放在了外循环while 外,这样写是不规范吗,是不是不影响结果?
2.另外就是在循环结构中关键字的使用中,我尝试了i = i + 1放在break后面也可以运行,比如案列中输入电话的问题,调试的时候结果没有发生变化,然而在3-8练习题中就是最后结果为7的那道题,把i = i + 1放break后面结果变成了5 ,是不是可以这样理解,break中,i= i+1的位置不影响程序的运行(既不会出现死循环),但是会影响输出的结果。而在continue中i= i+ 1则会出现死循环这个情况?
3.在判断1000内的质数这个案列中,里面新定义的变量is_prime =True是必须用布尔类型吗,我随便定义一个,my_world = good 而在循环中我在定义my_world= bad,其他不变,输出结果一样吗?
正在回答
同学,你好,同学说的第一个问题没有找到相对应的3-28练习题,同学看一下是不是小节号写错了。
问题2:
把i = i + 1 放到break后边,如下边代码这样写是可以的,意思是先执行if条件判断,再修改i的值。不同的是,按照同学的写法,当if条件成立时会直接进行输出然后执行break终止循环,i的值是不会发生变化的。按着视频中的例子,是先修改i的值,再进行判断,即使条件成立,i的值会发生变化,此时输出i的值为1。
i = 0 while i < 3: mobile = input('请输入您要查询的手机号:') # i = i + 1 if mobile == '13312345678': print('您的话费余额为158元') break i = i + 1 print(i)# 当条件成立时,i值为0 print('感谢您的来电')
同学说的3-8练习题结果为7的是3-23问题吗?不知道同学是要把i = i +1放到break后是哪个位置,希望同学可以把代码贴出来,方便为您解答。
问题3:同学的说法可以参考下边的代码看一下,当if条件成立时,修改my_world的值,当my_world的值为bad时,输出不是质数,反之是质数。
num = 17 i = 2 # is_prime = True my_world = 'good' while i < num : if num % i ==0: # is_prime = False my_world = 'bad' break i = i + 1 if my_world == 'bad': print('{}不是质数'.format(num)) else: print('{}是质数'.format(num))
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星