鱼C论坛

 找回密码
 立即注册
查看: 2192|回复: 4

[已解决]求助,课后作业进制转换。

[复制链接]
发表于 2020-10-15 10:25:16 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼的答案比较简单,我则想实现判断输入的内容是否是整数这一功能,编写代码如下:
answer = input('叫声爹就帮你转换进制:')
temp = answer
if temp == "爹":
    print("诶,真乖")
    while 1:
        num = input("儿砸,输入一个你想转换的整数吧:")
        int_num = int(str(num))
        if type(num)==int:
            x = '%#x' % num
            o = '%#o' % num
            t = bin(num)
            print('十进制 -> 十六进制:',num," -> ",x)
            print('十进制 -> 八进制:',num," -> ",o)
            print('十进制 -> 二进制:',num," -> ",t)
        elif num == "Q":
            break
        else:
            print("sb,你输入的什么玩意\n"
                  "再给你一次机会,不要给脸不要脸")
else:
    print("SB,不肯叫我会帮你?")

        运行结果为:

叫声爹就帮你转换进制:爹
诶,真乖
儿砸,输入一个你想转换的整数吧:10
sb,你输入的什么玩意
再给你一次机会,不要给脸不要脸
儿砸,输入一个你想转换的整数吧:


我已经知道问题出在input输入默认为str,但不知道怎么修改使得它正确运行,向各位大神求助
最佳答案
2020-10-15 11:54:52
answer = input('叫声爹就帮你转换进制:')
temp = answer
if temp == "爹":
    print("诶,真乖")
    while 1:
        num = input("儿砸,输入一个你想转换的整数吧:")
       
        if num.isdigit():  #判断输入是全部数字组成
            int_num = int(num) #这里str没必要 ,而且前面转换成int后,后面代码里都要用整型才能运行
            # x = '%x' % num     输出格式是在print函数里的
            # o = '%o' % num
            t = bin(int_num)
            print('十进制 -> 十六进制 : %d -> 0x%x' % (int_num, int_num))
            print('十进制 -> 八进制 : %d -> 0o%o' % (int_num, int_num))
            print('十进制 -> 二进制 : %d -> ' % int_num, t)
        elif num == "Q":
            break
        else:
            print("sb,你输入的什么玩意\n"
                  "再给你一次机会,不要给脸不要脸")
else:
    print("SB,不肯叫我会帮你?")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-15 11:54:52 | 显示全部楼层    本楼为最佳答案   
answer = input('叫声爹就帮你转换进制:')
temp = answer
if temp == "爹":
    print("诶,真乖")
    while 1:
        num = input("儿砸,输入一个你想转换的整数吧:")
       
        if num.isdigit():  #判断输入是全部数字组成
            int_num = int(num) #这里str没必要 ,而且前面转换成int后,后面代码里都要用整型才能运行
            # x = '%x' % num     输出格式是在print函数里的
            # o = '%o' % num
            t = bin(int_num)
            print('十进制 -> 十六进制 : %d -> 0x%x' % (int_num, int_num))
            print('十进制 -> 八进制 : %d -> 0o%o' % (int_num, int_num))
            print('十进制 -> 二进制 : %d -> ' % int_num, t)
        elif num == "Q":
            break
        else:
            print("sb,你输入的什么玩意\n"
                  "再给你一次机会,不要给脸不要脸")
else:
    print("SB,不肯叫我会帮你?")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 11:55:37 | 显示全部楼层
必要的修改都改了,满意的话还请设个最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 15:18:15 | 显示全部楼层
.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 11:32:52 | 显示全部楼层
谢谢上面那个老哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 23:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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