鱼C论坛

 找回密码
 立即注册
查看: 937|回复: 3

[已解决]关于while后面的变量

[复制链接]
发表于 2018-5-11 18:49:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
先看一段代码
  1. lins = input("输入一个整数")
  2. shuzi = int(lins)
  3. i=1
  4. while  shuzi:
  5.     print(i)
  6.     i=i+1
  7.     shuzi=shuzi-1
复制代码


在看一段代码

  1. lins = input("输入一个整数")
  2. shuzi = int(lins)
  3. i=1
  4. while  True:
  5.     print(i)
  6.     i=i+1
  7.     shuzi=shuzi-1
复制代码



两者的区别是 while后面一个是shuzi,一个是True。

实现的结果是,第一个代码实现了从1加到shuzi,第二个代码,一直无限增加


问题:
while后面只出现一个变量的时候是不是代表着shuzhi=shuzhi
while后面是True或者1我明白,毕竟无法跳出。
最佳答案
2018-5-11 20:53:18
while后面跟的值,一定是一个布尔类型,或者是可以转换成布尔类型的值,其中 0 、None 都是表示False,其他都表示True,所以当后面跟一个变量的时候,每次循环就看这个变量是否是0,不是0就表示True,就会一直执行,除非被break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-11 18:51:32 | 显示全部楼层
while后边的条件非零非空非假才执行循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 19:12:41 | 显示全部楼层
0    为 False
非0 为 True (-1, -2, 5,6,7  这些都是非0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 20:53:18 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
while后面跟的值,一定是一个布尔类型,或者是可以转换成布尔类型的值,其中 0 、None 都是表示False,其他都表示True,所以当后面跟一个变量的时候,每次循环就看这个变量是否是0,不是0就表示True,就会一直执行,除非被break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 11:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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