富富猪猪 发表于 2020-8-28 15:24:55

小白求助

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 15:25:49

这个是什么意思?我知道要换进制,但是TRUE和FALSE在这里有什么用?

baige 发表于 2020-8-28 15:29:02

本帖最后由 baige 于 2020-8-28 15:36 编辑

这里用来控制循环的,true执行循环,false退出循环

疾风怪盗 发表于 2020-8-28 15:30:10

看你发了很多帖子,建议你先把小甲鱼的课程看完再操作吧,while 后面跟true就执行代码,后面跟false就不执行,不就是用来控制代码执行不执行么

富富猪猪 发表于 2020-8-28 15:48:55

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

哦哦···我都是上一节做一节课的作业,但是总是不会···我还买了书,TRUE和FALSE单拿出来我是学过的但是运用到循环里面我就蒙了

UncleMonster 发表于 2020-8-28 17:54:14

本帖最后由 UncleMonster 于 2020-8-28 18:02 编辑

True是用来判断的,循环或者if语句都是需要通过判断来执行,你的代码可以简化一点,可以不用去赋值一个bool类型的变量
while True:
    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:
      break

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

如果觉得能理解的话别忘了内个{:10_305:}
第一次最+就靠你了{:10_266:}

富富猪猪 发表于 2020-8-28 18:00:12

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

谢谢你,确实理解了一点,但是我还是有点不懂为什么一上来就判断对错,这又没有比大小或者需要判断的东西(不知道我这样说你能不能明白··)而且NUM它都说了要整数为啥还要来一个INT?是为了检验是否为整数吗?

UncleMonster 发表于 2020-8-28 18:04:42

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

while循环和for循环都是通过判断来执行的,True和False是直接一点的方法,如果没有判断条件,比如变量a必须大于0才能执行循环的话就可以吧条件写成
while a > 0:
如果没有判断条件需要直接进入循环的话,就需要设定一个跳出循环的条件,否则就是死循环

富富猪猪 发表于 2020-8-28 19:27:48

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

哦哦··所以一个循环要有一个判断条件,只不过为了简单这里用了T和F作为条件,一般都是T所以可以一直循环进行,当为F的时候(输入Q)就可以结束循环?

UncleMonster 发表于 2020-8-28 19:32:28

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

是的,你的代码上面是由一个变量来传递bool值的,开头已经传入了True,当遇到Q的时候就会被赋值为False,
True为真,False为假,遇到False则循环条件不成立,不在执行循环,
我发的代码是遇到Q的时候,直接break跳出
页: [1]
查看完整版本: 小白求助