我正在嘗試獲取我輸入的數字加上達到 1 所需的步數。使用此代碼,步數有效,但我的輸入不斷回傳數字 1,而不是輸入的數字。我知道這很簡單,只是想知道為什么我的變數永遠不會改變輸入。我也試圖將輸入視為最大值,所以我試圖添加一個 for 回圈來包含所有這些以列印從輸入數字到 1 的每個數字和步驟。
n = int(input('n? '))
n_steps = 0
while n > 1:
n_steps =1
if n % 2 == 0:
n = n // 2
else:
n = n * 3 1
print(str(n) ' takes ' str(n_steps) ' steps')
uj5u.com熱心網友回復:
你n在回圈中改變while n > 1。只需復制一份即可。
start = n
while n > 1:
...
print(start, 'takes', n_steps, 'steps')
uj5u.com熱心網友回復:
將 的初始值保存n在另一個變數中,例如
starting_value = n = int(input('n? '))
…
print(starting_value, 'takes', n_steps, 'steps')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/318312.html
標籤:Python
上一篇:Java---ArrayList實作撲克牌的洗牌與抓牌程式
下一篇:初學者嵌套回圈Python
