鱼C论坛

 找回密码
 立即注册
查看: 806|回复: 8

[已解决]用while循环语句及continue语句打印10以内的基数

[复制链接]
发表于 2024-11-10 14:23:44 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-11-10 14:37 编辑
  1. i = 0
  2. while i < 10:
  3.     if i % 2 == 0:
  4.         i += 1        # 循环变量必须无条件更新,不可以条件性更新
  5.         continue
  6. print(i)              # 需要在循环中打印信息的 print() 语句必须纳入循环范围
复制代码

        当 i = 1 的时候,会陷入死循环,这样改:
  1. i = 0
  2. while i < 10:
  3.     if i % 2 :        # 如果 i 为奇数
  4.         print(i)      # 便打印之
  5.     i += 1            # 注意此句的缩进位置,循环变量必须无条件更新
复制代码

        当 i 是偶数的时候,不管它就好了,不需要 continue 语句
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-10 14:43:50 | 显示全部楼层
本帖最后由 jackz007 于 2024-11-10 14:50 编辑
LEEFEI571 发表于 2024-11-10 14:39
谢谢你的讲解!但请教一下,你这里的if i % 2 :应该是代表着如果i能被2整除时才会执行内部的print(i)语句, ...


       if i % 2 的意思是,如果 i 对 2 取的余不为 0,也就是如果 i 为奇数,因为,只有奇数对 2 取余才不为 0
       数值和布尔值之间的对应关系是:
  0        -         False
!= 0      -         True
       就是说,0 对应于 False,非 0 对应于 True,这就是在对整型数取布尔值时所遵循的规则。      
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-10 15:22:53 | 显示全部楼层
LEEFEI571 发表于 2024-11-10 15:22
所以也就是说 if i % 2:的全写是if i % 2 != 0:,是这意思吧?

         没错!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 16:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表