鱼C论坛

 找回密码
 立即注册
查看: 2379|回复: 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
  1. answer = input('叫声爹就帮你转换进制:')
  2. temp = answer
  3. if temp == "爹":
  4.     print("诶,真乖")
  5.     while 1:
  6.         num = input("儿砸,输入一个你想转换的整数吧:")
  7.       
  8.         if num.isdigit():  #判断输入是全部数字组成
  9.             int_num = int(num) #这里str没必要 ,而且前面转换成int后,后面代码里都要用整型才能运行
  10.             # x = '%x' % num     输出格式是在print函数里的
  11.             # o = '%o' % num
  12.             t = bin(int_num)
  13.             print('十进制 -> 十六进制 : %d -> 0x%x' % (int_num, int_num))
  14.             print('十进制 -> 八进制 : %d -> 0o%o' % (int_num, int_num))
  15.             print('十进制 -> 二进制 : %d -> ' % int_num, t)
  16.         elif num == "Q":
  17.             break
  18.         else:
  19.             print("sb,你输入的什么玩意\n"
  20.                   "再给你一次机会,不要给脸不要脸")
  21. else:
  22.     print("SB,不肯叫我会帮你?")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2020-10-15 11:55:37 | 显示全部楼层
必要的修改都改了,满意的话还请设个最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 15:18:15 | 显示全部楼层
.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 11:32:52 | 显示全部楼层
谢谢上面那个老哥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-27 18:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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