零基礎python第015講課後練習動動手字符串小問題
本帖最后由 默默無名 于 2018-6-2 14:52 编辑我的程式碼:
num = input('請輸入一個整數(輸入Q結束程序):')
while 1:
if num == 'Q':
break
else:
num1 = int(num)
ans1 = '{0} {1} -> {2}'.format('十進制 -> 十六進制 :', num, '%#x' % num1)
ans2 = '{0} {1} -> {2}'.format('十進制 -> 八進制 :', num, '%#o' % num1)
ans3 = '{0} {1} -> {2}'.format('十進制 -> 二進制 :', num, bin(num1))
print(ans1, '\n', ans2, '\n', ans3)
break
這是打印的結果:
十進制 -> 十六進制 : 108 -> 0x6c
十進制 -> 八進制 : 108 -> 0o154
十進制 -> 二進制 : 108 -> 0b1101100
1.為什麼前面會有空格?
2.有沒有只用一次print()打印結果,然侯前面可以不出現空格的方法?
num = input('請輸入一個整數(輸入Q結束程序):')
while 1:
if num == 'Q':
break
else:
num1 = int(num)
ans1 = '十進制 -> 十六進制:', num, '->', '%#x' % num1
ans2 = '十進制 -> 八進制:', num, '->', '%#o' % num1
ans3 = '十進制 -> 二進制:'+ num + '->' + bin(num1)
print(ans1, '\n', ans2, '\n', ans3)
break
這是打印的結果:
('十進制 -> 十六進制:', '108', '->', '0x6c')
('十進制 -> 八進制:', '108', '->', '0o154')
十進制 -> 二進制:108->0b1101100
3.為什麼用逗號隔開跟使用+號所打印的結果不一樣?
4.如果我的寫法有問題也可以糾正我,麻煩各位大神了。 {:10_257:} 1因为用逗号会移动添加空格作为分割
2将要打印的数据放到一个字符串
3用逗号表示是一个元祖,加号是一个字符串 1.為什麼前面會有空格? -- print函数缺省在每个用逗号隔开的参数之间加上一个空格输出。
2.有沒有只用一次print()打印結果,然侯前面可以不出現空格的方法?--在print函数加上sep参数就可以把空格改为其他的。
print(ans1, '\n', ans2, '\n', ans3, sep = '')
3.為什麼用逗號隔開跟使用+號所打印的結果不一樣?-- 加号是把两个字符串合并为一个了,不是print的两个参数了,就不会在中间有空格了。
4.如果我的寫法有問題也可以糾正我,麻煩各位大神了。 -- 使用了format又使用了%,太繁琐了。
num = input('請輸入一個整數(輸入Q結束程序):')
while 1:
if num == 'Q':
break
else:
num1 = int(num)
ans1 = '{0} {1} -> ox{2:x}'.format('十進制 -> 十六進制 :', num, num1)
ans2 = '{0} {1} -> 00{2:o}'.format('十進制 -> 八進制 :', num, num1)
ans3 = '{0} {1} -> {2}'.format('十進制 -> 二進制 :', num, bin(num1))
print(ans1, '\n', ans2, '\n', ans3, sep = '')
break
感謝各位大神,繼續努力學習!{:10_266:}
页:
[1]