鱼C论坛

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

[已解决]pyt第十五课求解

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

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

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

x

while True:
    temp = input("请输入一个整数:")
    if True:
        temp = int(temp)
        
        print("十六进制为:%x"%int(temp))
        print("八进制数为:%o"%int(temp))
        print("二进制数为: bin(temp)")
               
    else:
        False
        
为什么最终结果八进制和十六进制可以正常显示而二进制则直接显示 bin(temp) 请问问题出在哪,如果在此基础上进行修改,该如何修改才能正确。      
最佳答案
2019-12-3 21:22:42
你仔细看看你的引号放在了哪里。
把引号的位置改一下,再添点东西,比如逗号啊,%s啊,之类的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-3 21:22:42 | 显示全部楼层    本楼为最佳答案   
你仔细看看你的引号放在了哪里。
把引号的位置改一下,再添点东西,比如逗号啊,%s啊,之类的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-3 21:30:40 | 显示全部楼层
阴阳神万物主 发表于 2019-12-3 21:22
你仔细看看你的引号放在了哪里。
把引号的位置改一下,再添点东西,比如逗号啊,%s啊,之类的。

print("二进制数为:%s"%bin(temp))
嗯嗯,修改成这样之后程序能够正常运行了,为什么添加了%s就有这个效果,是因为bin(temp)这个不是字符串格式吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-3 21:37:52 | 显示全部楼层
1004054692 发表于 2019-12-3 21:30
print("二进制数为:%s"%bin(temp))
嗯嗯,修改成这样之后程序能够正常运行了,为什么添加了%s就有这个效 ...

恰恰是因为, bin(temp) 得到的是一个字符串,但是两边加上引号的话,就不会去调用 bin 函数,会把它当做是字符串打印出来要显示的内容了。
bin(temp) 本身不代表字符串,它只是字符串的生产者。
而引号内用 %s 的话,会被解释为一个字符串的位置,在引号后边会把这个字符串的值给放到那个位置去。
这叫格式化符号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-3 21:40:21 | 显示全部楼层
阴阳神万物主 发表于 2019-12-3 21:37
恰恰是因为, bin(temp) 得到的是一个字符串,但是两边加上引号的话,就不会去调用 bin 函数,会把它当做 ...

好的好的,谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 09:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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