鱼C论坛

 找回密码
 立即注册
查看: 1445|回复: 3

[已解决]进制转换代码中的问题

[复制链接]
发表于 2020-3-21 12:14:03 | 显示全部楼层 |阅读模式

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

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

x
q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
        print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False

1. 上述代码中,  print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num)),%d这里是指代正整数吗?可以换成abc吗?

2. 上述代码中,  print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num)),最后(num, num)起什么作用?

3. q = True,q = False分别是什么作用?


最佳答案
2020-3-21 14:03:42
1. d%是格式化,例如:
>>> a = 5
>>> print('a是%d' % a)
a是5
把字符串里的%d换成了a
详情见 015字符串:格式化

2.也是格式化,d%是直接把数代入字符串
%o是把数字换成八进制代入字符串

3.while循环条件是,while后的东西为真
一开始给q赋值为True,是为了进入循环
当num!=‘Q’时就会给q赋值为Flase
就会跳出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-21 12:18:40 | 显示全部楼层
1,是的,代表整数,但是不能换,换了就是别的意思了
2,输出格式不同,一个是以十进制形式输出,一个是以八进制输出
3,用于标记是否继续,while q就是while q == True,
你可以改成while True 和 break,效果一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 14:03:42 | 显示全部楼层    本楼为最佳答案   
1. d%是格式化,例如:
>>> a = 5
>>> print('a是%d' % a)
a是5
把字符串里的%d换成了a
详情见 015字符串:格式化

2.也是格式化,d%是直接把数代入字符串
%o是把数字换成八进制代入字符串

3.while循环条件是,while后的东西为真
一开始给q赋值为True,是为了进入循环
当num!=‘Q’时就会给q赋值为Flase
就会跳出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 16:26:38 | 显示全部楼层
这都啥年头了,就别用%格式字符串了吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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