日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python 回车字符_「答案」python每日一题20201107

發布時間:2024/9/30 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 回车字符_「答案」python每日一题20201107 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用python輸出 如下9*9 乘法口訣表。

#####方法一#####for i in range(1,10): for j in range(1,i+1): print("%2d*%2d=%2d"%(i,j,i*j),end="") print()

【評析】

圖形打印題的分析方法,無外乎兩點:(1)外循環控制行數,解決打印幾行問題(2)內循環控制列數,解決每行打印幾個圖形(或式子)的問題。

當然,具體問題還需要具體分析,比如每行打印圖形前有沒有空格,每行打印結束還需要回車換行等等。

在python打印問題中,print函數的end參數是定義了字符串輸出后的結束字符,默認是回車。因此在每行打印的過程中,為了不產生換行,我們需要自定義這個參數,比如用空格或者tab符等等。每行輸出結束時(即內循環結束時)需要換行,可以直接用一個不帶參數的print語句解決,因為默認輸出一個回車。

#####方法二#####print(''.join([ ''.join([ "%2d*%2d=%2d"%(j,k,j*k) for k in range(1,j+1)] ) for j in range(1,10)]))

【評析】

方法二用一句打印語句結束了整個工作,非常酷!

在這個解決過程中我們用到了三個知識點:

(1)字符串的格式化輸出

"%2d*%2d=%2d" % (j,k,j*k)

上面語句的意思是用j替換第一個%2d,k替換第二個,j*k替換第三個;%2d實際上是一個占位符,說明替換它的是一個整數,而且要占用2個字符位置(不足的在前面補空格);在格式字符串和實際替換值之間,用一個%間隔,并且實際替換值是多個時,要寫成一個元組(用括號括起來)。

在python中可以使用的占位符如下:

'%s'%('字符串') : 后跟字符串'%d'%整型數字 :后跟整數'%f'%浮點數 :后跟小數'%c'%ascII字符 :后跟ASCII字符'%o'%8進制 :后跟int類型數字'%x'%16進制:后跟int類型數字'%e'%科學記數法:后更數字,可以整數,也可浮點數。'%r'%('字符串') :與%s相同,不同之處是,r 輸出的是帶引號的字符串,s 輸出不帶引號的字符串。其中'%n.mf'%() :n表示后面的數字或字符串占用多少位數,m表示小數點后幾位數,如果你前面有 - 號。表示左對齊。其中 n 和 - 號對所有%起作用,m只應用與小數。

(2)字符串連接函數join

字符串A.join(字符串列表)

意思是用字符串A將字符串列表中的字符連接起來。

本題中,具體乘法式子之間我們用tab符連接,所以是‘’.join(...);每行內容之間使用回車符連接,所以是''.join(...)。

(3)for語句新建列表并自動賦值

info=[a for a in range(1,6)]

實際等同于:info=[1,2,3,4,5]

但這種形式可以靈活運用,比如:info=[a**2 for a in range(1,6)]

這就產生了[1,4,9,16,25]這樣的列表。

在本題的第二種解法中更是把這種應用發揚光大,甚至用到了這種形式的嵌套。

另外,請猜一猜下面這句是什么意思?

print([i for i in range(1,100) if i%2==0])

總結

以上是生活随笔為你收集整理的python 回车字符_「答案」python每日一题20201107的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。