鱼C论坛

 找回密码
 立即注册
查看: 2928|回复: 7

小白求解

[复制链接]
发表于 2021-3-1 22:50:50 | 显示全部楼层 |阅读模式

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

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

x
while True:
    i = input("请输入一个整数(输入Q停止程序):")
    if i != "Q":
        i = int(i)
        y = "%#x" % i
        print("十进制 -> 十六进制:", i , "->" ,y)
        x = "%#o" % i
        print("十进制 -> 十六进制:", i , "->" ,x)
        c = bin(i)
        print("十进制 -> 二进制:", i ,"->" ,c)
    else:
        q = False

为什么 写完之后 输入 Q   停不下来 输入小的q 会报错  求大神给改进下  而且感觉 还是脑子好笨转不过来弯  看了答案才知道自己写的好麻烦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-1 22:58:23 | 显示全部楼层
因为你的循环条件是while True啊,一直为真,肯定会永远循环下去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-1 23:00:51 | 显示全部楼层
要不你就把while Ture改成while q。在循环外面加上q=True,这样下面的判断else把q改为false之后,while就可以停下来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-1 23:02:31 From FishC Mobile | 显示全部楼层
把q = False 改成 break 就OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-1 23:03:12 | 显示全部楼层
还有,你提到的输入小写q会报错,是因为q满足了  i !='Q'的条件,进入下一条i = int(i)的时候,int('q')没法转化为整型数,就报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-1 23:04:46 | 显示全部楼层
本帖最后由 atai0622 于 2021-3-1 23:07 编辑

分享一下我写的
temp = input('请输入一个整数(输入Q结束程序):')
while temp!='Q' :
    if not temp.isdigit():
        print('输入有误!')
        temp = input('请重新输入一个整数(输入Q结束程序):')
    else:
        num=int(temp)
        print('十进制 -> 十六进制 :{} -> {}'.format(num,hex(num)))
        print('十进制 -> 八进制 :{} -> {}'.format(num,oct(num)))
        print('十进制 -> 二进制 :{} -> {}'.format(num,bin(num)))
        temp = input('请输入一个整数(输入Q结束程序):')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-2 17:33:39 | 显示全部楼层
while True:
    i = input("请输入一个整数(输入Q停止程序):")
    if i in "Q,q":
        break
    else:
        i = int(i)
        print("十进制 -> 十六进制:", i, "->", "%#x" % i)
        print("十进制 -> 八进制:", i, "->", "%#o" % i)
        print("十进制 -> 二进制:", i, "->", bin(i))

Q大小写都行,so easy
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-5 21:40:51 | 显示全部楼层
while True:
    num = input('輸入一個整數或輸入 q 結束程序:')
    if num.lower() == 'q':
        print('程序結束')
        break
    try:
        num = int(num)
        print(f'十进制 -> 十六进制 :{num} -> {hex(num)}\n十进制 -> 八进制 :{num} -> {oct(num)}\n十进制 -> 二进制 :{num} -> {bin(num)}')
        continue
    except:
        print('輸入有誤!請', end = '')
        continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 10:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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