很抱歉問了這個非常基本的問題 - 但我不明白為什么它會這樣做。
a = int(input('Enter No. of rows'))
for i in range (a,0,-1):
print(i*'*')
感謝您抽出寶貴時間查看并回答此問題。
uj5u.com熱心網友回復:
該range函式接受三個引數。第一個引數。表示起始整數,第二個引數。表示要停止的整數和 3 arg。表示數字應該增加多少。因此,在這種情況下,(start, stop, step) = (a, 0, -1)。這基本上意味著從a(輸入的值)開始,移動直到0并遞增-1。
然后,在每次迭代中,將列印*多次重復的星號 ( ) 。i
您可以在此處和此處參考范圍功能。
uj5u.com熱心網友回復:
一步步。
在第一行你有:
a = int(input('Enter No. of rows'))
首先,您有一個變數 ,a它被歸因于來自用戶的int值。input兩者int()都是input()函式。
這意味著用戶型別的任何數字都將轉換為 int 型別,結果將歸因于一個名為a
然后你有一個 for 回圈(請參閱此處的檔案):
for i in range (a,0,-1):
for當您想要重復固定次數的代碼塊時使用回圈。它遍歷一個序列(串列、元組、字典、集合或字串)。
回圈的語法for如下:
for <item> in <iterable>:
<loop body>
所以對于迭代中的每一項,都會執行 for 回圈體中的代碼。
然后你就有了這個功能(請參閱此處range()的檔案)。它需要 3 個引數:range(<starting int>, <stopping int>, <step int>)
starting int: 整數,從其開始回傳整數序列
stopping int: 整數,在它之前回傳整數序列。
step int:整數值,確定序列中每個整數之間的增量
一個負的步長值意味著該range()函式將以相反的順序生成數字序列。
在這種情況下range (a,0,-1),意味著從range()函式回傳的數字序列應該從 的值開始a,在 0 處停止并減 1。
然后在最后一行你有:
print(i*'*')
該(i*'*')位表示該字串'*'應i在控制臺上列印時間(查看此說明)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/473594.html
標籤:python-3.x
下一篇:使用函式更新Panda資料框的值
