鱼C论坛

 找回密码
 立即注册
查看: 1403|回复: 9

[已解决]小白求助

[复制链接]
发表于 2020-8-28 15:24:55 | 显示全部楼层 |阅读模式

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

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

x
q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
        print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False
最佳答案
2020-8-28 17:54:14
本帖最后由 UncleMonster 于 2020-8-28 18:02 编辑

True是用来判断的,循环或者if语句都是需要通过判断来执行,你的代码可以简化一点,可以不用去赋值一个bool类型的变量
  1. while True:
  2.     num = input('请输入一个整数(输入Q结束程序):')
  3.     if num != 'Q':
  4.         num = int(num)
  5.         print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
  6.         print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
  7.         print('十进制 -> 二进制 : %d -> ' % num, bin(num))
  8.     else:
  9.         break
复制代码

这样你应该可以直观一点理解,当条件为True时就会执行循环,只要把True设为循环判断结果,就会执行死循环,直到break跳出

如果觉得能理解的话别忘了内个
第一次最+就靠你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-28 15:25:49 | 显示全部楼层
这个是什么意思?我知道要换进制,但是TRUE和FALSE在这里有什么用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 15:29:02 From FishC Mobile | 显示全部楼层
本帖最后由 baige 于 2020-8-28 15:36 编辑

这里用来控制循环的,true执行循环,false退出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 15:30:10 | 显示全部楼层
看你发了很多帖子,建议你先把小甲鱼的课程看完再操作吧,while 后面跟true就执行代码,后面跟false就不执行,不就是用来控制代码执行不执行么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-28 15:48:55 | 显示全部楼层
疾风怪盗 发表于 2020-8-28 15:30
看你发了很多帖子,建议你先把小甲鱼的课程看完再操作吧,while 后面跟true就执行代码,后面跟false就不执 ...

哦哦···我都是上一节做一节课的作业,但是总是不会···我还买了书,TRUE和FALSE单拿出来我是学过的但是运用到循环里面我就蒙了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 17:54:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 UncleMonster 于 2020-8-28 18:02 编辑

True是用来判断的,循环或者if语句都是需要通过判断来执行,你的代码可以简化一点,可以不用去赋值一个bool类型的变量
  1. while True:
  2.     num = input('请输入一个整数(输入Q结束程序):')
  3.     if num != 'Q':
  4.         num = int(num)
  5.         print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
  6.         print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
  7.         print('十进制 -> 二进制 : %d -> ' % num, bin(num))
  8.     else:
  9.         break
复制代码

这样你应该可以直观一点理解,当条件为True时就会执行循环,只要把True设为循环判断结果,就会执行死循环,直到break跳出

如果觉得能理解的话别忘了内个
第一次最+就靠你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 18:00:12 | 显示全部楼层
UncleMonster 发表于 2020-8-28 17:54
True是用来判断的,循环或者if语句都是需要通过判断来执行,你的代码可以简化一点,可以不用去赋值一个bool ...

谢谢你,确实理解了一点,但是我还是有点不懂为什么一上来就判断对错,这又没有比大小或者需要判断的东西(不知道我这样说你能不能明白··)而且NUM它都说了要整数为啥还要来一个INT?是为了检验是否为整数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 18:04:42 | 显示全部楼层
富富猪猪 发表于 2020-8-28 18:00
谢谢你,确实理解了一点,但是我还是有点不懂为什么一上来就判断对错,这又没有比大小或者需要判断的东西 ...

while循环和for循环都是通过判断来执行的,True和False是直接一点的方法,如果没有判断条件,比如变量a必须大于0才能执行循环的话就可以吧条件写成
  1. while a > 0:
复制代码

如果没有判断条件需要直接进入循环的话,就需要设定一个跳出循环的条件,否则就是死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 19:27:48 | 显示全部楼层
UncleMonster 发表于 2020-8-28 18:04
while循环和for循环都是通过判断来执行的,True和False是直接一点的方法,如果没有判断条件,比如变量a必 ...

哦哦··所以一个循环要有一个判断条件,只不过为了简单这里用了T和F作为条件,一般都是T所以可以一直循环进行,当为F的时候(输入Q)就可以结束循环?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 19:32:28 | 显示全部楼层
富富猪猪 发表于 2020-8-28 19:27
哦哦··所以一个循环要有一个判断条件,只不过为了简单这里用了T和F作为条件,一般都是T所以可以一直循 ...

是的,你的代码上面是由一个变量来传递bool值的,开头已经传入了True,当遇到Q的时候就会被赋值为False,
True为真,False为假,遇到False则循环条件不成立,不在执行循环,
我发的代码是遇到Q的时候,直接break跳出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 22:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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