字符串格式化的几个问题
1. >>> '{0}{1:.2f}'.format('Pi = ', 3.1415)'Pi = 3.14'
不太明白.2f的作用,感觉是取小数点后两位的意思,为什么用的是.2f不是%2f?
2.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)为什么设定q = True、q = False? 2)num != 'Q'的意思是? 大Q也没有设定过呀 3)为什么加入% (num, num)和% num, bin(num)?{:9_241:}
谢谢! 1、.2f和2f是不一样的。点后面的数字是小数位数,点前面的数字是输出最小宽度所以有5.2f的写法
2、1)while循环条件为True则执行循环体,为False则结束循环,你这个程序的条件就是q,所以先设置q=True,当需要结束循环时,设置q=False
2)'Q'是一个字符常量,num!='Q',是判断input输入的num是否是字符Q,所谓字符窗帘,是不需要定义的啊,就像数字常量一样,你需要定义什么是123吗?不需要吧,因为它就是一个数字啊
3)%(num,num)是因为前面的字符串中有两个格式化字符,分别对应后面的两个格式化参数。% num, bin(num),是因为前面只有一个格式化字符,所以后面只有一个参数num,最后的这个bin(num)是一个函数,bin()函数作用是将一个int类型数字转为二进制型式的字符串 你该好好学习一下基础。
第二个问题中 1)和2)都是很基础的内容。真的不应该不知道啊 本帖最后由 qiuyouzhi 于 2020-4-9 16:28 编辑
1,你的猜测是对的,但因为这是个小数,要加小数点(猜测,反正Python语法就这样)
如果是%2f代表宽度,就是前面加几个空格
2,num != 'Q'是退出条件,如果输入Q就退出程序,而且'Q'是个字符串啊,你告诉我字符串要定义?
那个q=True,q=False是循环条件,你把while q改成while True,把q=False改成break也是一样的
3,前面不是有格式化操作符嘛,你光放个操作符,不往里面塞值,肯定是不可以的
你还可以用f-string,看着更直观(具体百度)
页:
[1]