为什么while循环中的函数不使用更新后的变量值

时间:2019-12-15 02:10:49

标签: python while-loop

因此,我正在学习Python初学者课程,我的问题之一是编写带有n数字(例如5)并要求用户在n中输入n-1个数字并找到缺少的数字的代码。我不能使用比循环更高级的东西。

出于某种原因,即使每次循环运行时nn的值都会更新,每次循环运行时number的值只会减少1。

n = int(input('Please enter n: '))
ntotal = int(n*(n+1)/2)
print ('Please enter n: ')

print (ntotal)
i = 0
k = i
while i != n-1:
    nn = int(input('Please enter a number: '))
    number = ntotal - nn
    print (nn)
    i += 1

print (number)

1 个答案:

答案 0 :(得分:1)

您必须更改ntotal

    ntotal = total - number

或更短

    ntotal -= number

并在末尾显示ntotal


n = int(input('Please enter n: '))
ntotal = int(n*(n+1)/2)

#print('ntotal:', ntotal)

i = 0
while i != n-1:
#for _ in range(n-1):
    number = int(input('Please enter a number: '))
    ntotal -= number
    #print('number:', number, 'ntotal:', ntotal)
    i += 1

print(ntotal)