鱼C论坛

 找回密码
 立即注册
查看: 1138|回复: 5

[已解决]python课后作业求助。

[复制链接]
发表于 2020-7-7 22:55:04 | 显示全部楼层 |阅读模式

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

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

x
t = 1
while t == 1:
    temp =input('请输入一个整数:')
    guess = int (temp)
    zimu =['a','b','c','d','e','f']
    x = guess//16
    y = guess%16
    if y >=10:
        y = zimu[y-10]
    print('十进制转化为十六进制:0x',end='')
    print('x+y')
    s = guess/8
    j = guess%8
    print('十进制转化为八进制:0o',end='')
    print('s+j')
    print('十进制转化为二进制:0b',end='')
    print('bin(guess)')
    while temp == 'Q':
        t = 0
当输入108结果是这样的。
请输入一个整数:108
十进制转化为十六进制:0xx+y
十进制转化为八进制:0os+j
十进制转化为二进制:0bbin(guess)
请输入一个整数:
最佳答案
2020-7-7 23:01:28
  1. q = True
  2. while q:
  3.     num = input('请输入一个整数(输入Q结束程序):')
  4.     if num != 'Q':
  5.         num = int(num)
  6.         print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
  7.         print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
  8.         print('十进制 -> 二进制 : %d -> ' % num, bin(num))
  9.     else:
  10.         q = False
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-7 23:01:28 | 显示全部楼层    本楼为最佳答案   
  1. q = True
  2. while q:
  3.     num = input('请输入一个整数(输入Q结束程序):')
  4.     if num != 'Q':
  5.         num = int(num)
  6.         print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
  7.         print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
  8.         print('十进制 -> 二进制 : %d -> ' % num, bin(num))
  9.     else:
  10.         q = False
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-7 23:08:05 | 显示全部楼层


你的代码不能这样算哈,这样算是错误的,建议改成楼上的格式化法,或者用 Python 内置函数:

hex()  十进制转十六进制
oct()   十进制转八进制
bin()   十进制转二进制

顺便把你代码多余的都去掉了,t 不需要 等于 1 然后再做 while 的条件,你可以直接写 1:

  1. while 1:
  2.     temp = int(input('请输入一个整数:'))
  3.     print('十进制转化为十六进制:',hex(temp))
  4.     print('十进制转化为八进制:',oct(temp))
  5.     print('十进制转化为二进制:0b',bin(temp))
  6.     if temp == 'Q' or temp == 'q':
  7.         break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-7 23:10:56 | 显示全部楼层
Twilight6 发表于 2020-7-7 23:08
你的代码不能这样算哈,这样算是错误的,建议改成楼上的格式化法,或者用 Python 内置函数:

hex()  ...

那有没有什么办法可以把15和4拼起来变成154,把7和b拼起来变成7b。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-7 23:13:04 | 显示全部楼层
Twilight6 发表于 2020-7-7 23:08
你的代码不能这样算哈,这样算是错误的,建议改成楼上的格式化法,或者用 Python 内置函数:

hex()  ...

输入q的时候会出现ValueError: invalid literal for int() with base 10: 'q'这样的情况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-7 23:13:12 | 显示全部楼层
breaki 发表于 2020-7-7 23:10
那有没有什么办法可以把15和4拼起来变成154,把7和b拼起来变成7b。



噗 我的代码发现也错了 忘记要 q 退出了 我的代码是错的哈

你按照楼上的来吧,不用看我的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 22:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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