2017-10-11 55 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)