2017-10-11 57 views
2
dia_semana = int(input()) 
ndias = int(input()) 
dia_actual = 0 
    while (ndias != 0): 
    dia_actual = dia_semana + 1 
    ndias -= 1 
    if(dia_actual > 6): 
     dia_actual = 0 
print(dia_actual) 

這段代碼的目的是讀取2個變量(第一個是起點,第二個是我想總結到起點的數字(例如3 + 4 = 7),但是有一個特定的規則:它只能循環遍歷從0到6的數字,如果它試圖跳到6以上,它將會回到0.當我運行這個代碼而不是這樣做時, 。給了我它是什麼樣子的隨機數(但可能是因爲大家都知道,機器是永遠沒有錯)我在做什麼錯while while python

+1

你能舉幾個所需輸入/輸出的例子嗎? –

+0

嘗試'dia_actual =(dia_semana + 1)%7'。模數運算符將確保'dia_actual'將從6迴繞到0. –

+0

@ZacCrites但是'dia_semana'永遠不會改變,所以添加模數不會改變任何東西。 – glibdud

回答

1
dia_semana = int(input()) 
ndias = int(input()) 
dia_actual = dia_semana 
while ndias != 0: 
    dia_actual = (dia_actual + 1) % 7 
    ndias -= 1 
print(dia_actual) 

將簡化爲類似以下內容:?

dia_semana = int(input()) 
ndias = int(input()) 
dia_actual = (dia_semana + ndias) % 7 
print(dia_actual)