1. python3中,直接打印空格不顯示,不論是pycharm,cmd命令窗口,還是linux中,都有嘗試,但是空格' '不能顯示出來:
# 打印菱形,只能用center方法
for i in range(0,5): for y in range(0,5-i): w = ' ' print(w,end="") s = '* ' * i print(s) for i in range(0,5): for x in range(0,i): w = ' ' print(w, end="") t = '* ' * (5-i) print(t)
2. a,b=b,a+b(a,b會隨循環變動)不等同a=b,b=a+b(a,b會隨循環固定)舉例:
2.1代碼
a,b,s = 2.0, 1.0, 0.0 for i in range(5): s += a/b b= a a = a+b print(s,'\t',end='') print()
執行結果:2.0 4.0 6.0 8.0 10.0
在2.1這里可以修改代碼,加入一個變量(如果不加,a,b就被當作不可變量),也可以達到想要的效果:
a,b,s = 2.0, 1.0, 0.0 for i in range(5): s += a/b t = a a = a+b b = t print(s,'\t',end='') print()
執行結果:2.00 3.50 5.17 6.77 8.39
2.2代碼
a,b,s = 2.0, 1.0, 0.0 for i in range(5): s += a/b b,a= a,b+a # 相當於 t=(a,a+b),b=t[0],a=t[1] print('%.2f\t'%s,end='') print()
執行結果:2.00 3.50 5.17 6.77 8.39
3 s+=i不等同於s=s+i(只針對列表適用,不適用str,set,tuple,int);
與2相似,在某些情況下兩個算式是成立的,但也有不成立的情況。
l1 = [i for i in range(3)] l2 = l1 l2+=[3] print(l1,l2)
執行結果:[0, 1, 2, 3] [0, 1, 2, 3]
在+=中,與l2相關的內容都發生變動,都被當作可變量;
l1 = [i for i in range(3)] l2 = l1 l2=l2+[3] print(l1,l2)
執行結果:[0, 1, 2] [0, 1, 2, 3]
參考鏈接:https://blog.csdn.net/zxmzhaoxuan/article/details/82465848