第15讲的动动手的一个小问题
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
有人给我解释一下这个代码吗???
大致懂,但是还有很多小问题不懂
格式化字符串这节课确实比较难……那个列表不用背下来,用的时候拿出来看就行,视频有不理解的地方可以多看几次 老八秘制 发表于 2020-4-18 10:09
格式化字符串这节课确实比较难……那个列表不用背下来,用的时候拿出来看就行,视频有不理解的地方可以多看 ...
大佬又是你,我想问一下为什么十进制转十六进制后面为什么是(num,num),八进制也是 牛逼牛逼 发表于 2020-4-18 10:13
大佬又是你,我想问一下为什么十进制转十六进制后面为什么是(num,num),八进制也是
https://blog.csdn.net/qq_41556318/article/details/84072944 牛逼牛逼 发表于 2020-4-18 10:13
大佬又是你,我想问一下为什么十进制转十六进制后面为什么是(num,num),八进制也是
因为第一个num 是十进制啊,第二num代表十六进制,,肯定要两个参数来表示啊 老八秘制 发表于 2020-4-18 10:19
https://blog.csdn.net/qq_41556318/article/details/84072944
这个网站有点看不懂 jkluoling1992 发表于 2020-4-18 10:19
因为第一个num 是十进制啊,第二num代表十六进制,,肯定要两个参数来表示啊
不太懂啊大佬 牛逼牛逼 发表于 2020-4-18 10:22
这个网站有点看不懂
最底下有个知识总结,多敲代码自然就会了,看一遍不懂是很正常的 牛逼牛逼 发表于 2020-4-18 10:23
不太懂啊大佬
你把十进制转成十六进制,你要输入一个数字,然后再输出一个数字,,你用一个num怎么表示前后变化呢,所以用两个num 来显示 jkluoling1992 发表于 2020-4-18 10:31
你把十进制转成十六进制,你要输入一个数字,然后再输出一个数字,,你用一个num怎么表示前后变化呢,所 ...
我输入一个num,它为什么会报错 jkluoling1992 发表于 2020-4-18 10:31
你把十进制转成十六进制,你要输入一个数字,然后再输出一个数字,,你用一个num怎么表示前后变化呢,所 ...
还是不太懂 老八秘制 发表于 2020-4-18 10:24
最底下有个知识总结,多敲代码自然就会了,看一遍不懂是很正常的
有点难搞{:5_107:} 本帖最后由 Hoiste 于 2020-4-18 12:10 编辑
牛逼牛逼 发表于 2020-4-18 10:36
我输入一个num,它为什么会报错
这两个num是括在一起的%(num, num),与前面%d,%o对应位置配对,第一个%d代表后面第一个%num为十进制数,所以会把第一个num的数字转化为十进制数替换到%d的位置,第二个%o表示把%后第二个num转化为八进制替换到%o的位置。正因为前面字符串中有两个%号,所以在字符串后面也要跟上两个%num代表前面%d和%o的对象。
格式化字符串只是看起来难而已,只要知道%后面跟的字符代表什么含义并与字符串之后的%一一对应就可以完成写入不同类型数据到字符串里的功能了,基本上只要熟练了就自然能够应用自如的。 牛逼牛逼 发表于 2020-4-18 10:38
有点难搞
你看前面的格式化操作符,有两个
所以后面也要对应两个
但由于Python语法,要用括号打包起来。
这个东西你自己多练就好了,实在掌握不好就
用f-string。
语法:
>>> a = 5
>>> print(f"a = {a}")
a = 5
在字符串前面加上f,然后把要打印的变量放进大括号里就好 没啥用,不用记。
写程序一辈子你能转换几次八进制和十六进制?
真有这需求了,再回来现查都赶趟。 这个不会就不会了,写一辈子程序都不见得用上。
现在谁还用 str.__mod__?都用 f-string 和 str.format 去了。 q = True # 定义一个变量 q 标志着是否继续循环,True 表示继续循环,否则退出循环
while q: # 当 q 为真时循环
# 询问用户输入
num = input('请输入一个整数(输入Q结束程序):')
# 如果用户输入的不是 Q
if num != 'Q':
# 将用户输入的数字转化为整数
num = int(num)
# 字符串格式化输出 num 以及 num 转化为十六进制的结果
# 这里第一个 num 填充字符串的 %d,第二个 num 填充字符串的 %x
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
# 字符串格式化输出 num 以及 num 转化为八进制的结果
# 这里第一个 num 填充字符串的 %d,第二个 num 填充字符串的 %o
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
# 注意,下面一句代码是打印两个字符串,即 '十进制 -> 二进制 : %d -> ' % num 和 bin(num)
# 第一个打印的字符串中 num 填充原字符串中的 %d
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
else:
# 如果用户输入的是 'Q' 则将 q 设置为 False,表示需要退出循环
q = False 永恒的蓝色梦想 发表于 2020-4-18 12:34
这个不会就不会了,写一辈子程序都不见得用上。
现在谁还用 str.__mod__?都用 f-string 和 str.format 去 ...
好的大佬 heidern0612 发表于 2020-4-18 12:29
没啥用,不用记。
写程序一辈子你能转换几次八进制和十六进制?
{:5_98:}是的大佬 永恒的蓝色梦想 发表于 2020-4-18 12:34
这个不会就不会了,写一辈子程序都不见得用上。
现在谁还用 str.__mod__?都用 f-string 和 str.format 去 ...
大佬你好,问你一个问题print('十进制 -> 二进制 : %d -> '% (temp , bin(temp))),为什么我temp前面加个括号就报错
页:
[1]
2