赛酱想学编程 发表于 2022-7-25 16:51:36

想问一下这个代码哪里有问题?

小甲鱼的作业搞个进制转换的代码,以下是我写的,程序没有报错,为啥我输入数字的时候程序没有反应呢?代码如下:
while True:
    print("请输入一个整数(输入Q结束程序):",end = "")
    temp = input()
    if temp == 'Q' or 'q':
      break
    else:
      num = int(temp)
      print("十六进制:"f"{num:#x}",end = "\n")
      print("八进制:"f"{num:#o}",end = "\n")
      print("二进制:"f"{num:#b}",end = "\n")
      continue


求大佬指出一波问题!!!谢谢!!!

青出于蓝 发表于 2022-7-25 16:53:51

本帖最后由 青出于蓝 于 2022-7-25 16:55 编辑

while True:
    print("请输入一个整数(输入Q结束程序):",end = "")
    temp = input()
    if temp == 'Q' or temp=='q':
      break
    else:
      num = int(temp)
      print("十六进制:"f"{num:#x}",end = "\n")
      print("八进制:"f"{num:#o}",end = "\n")
      print("二进制:"f"{num:#b}",end = "\n")
      continue


第四行的判断 temp=='Q' or 'q'
就等于是判断temp=='Q'是否为真 或者 'q' 是否为真
字符串不为空那当然为真
于是执行break
退出循环

欢迎追问~

赛酱想学编程 发表于 2022-7-25 17:27:12

青出于蓝 发表于 2022-7-25 16:53
第四行的判断 temp=='Q' or 'q'
就等于是判断temp=='Q'是否为真 或者 'q' 是否为真
字符串不为空那 ...

谢谢大佬!!!

赛酱想学编程 发表于 2022-7-25 17:36:17

青出于蓝 发表于 2022-7-25 16:53
第四行的判断 temp=='Q' or 'q'
就等于是判断temp=='Q'是否为真 或者 'q' 是否为真
字符串不为空那 ...

就是说在我的错误代码temp=='Q' or 'q'这个条件中 ,'q'是否为真这个条件判断是不用在乎''里面的内容是什么,只要字符串不为空,它都为真吗?

青出于蓝 发表于 2022-7-25 17:45:25

赛酱想学编程 发表于 2022-7-25 17:36
就是说在我的错误代码temp=='Q' or 'q'这个条件中 ,'q'是否为真这个条件判断是不用在乎''里面的内容是 ...

是的~

赛酱想学编程 发表于 2022-7-25 18:48:19

青出于蓝 发表于 2022-7-25 17:45
是的~

好好,多谢!
页: [1]
查看完整版本: 想问一下这个代码哪里有问题?