目标:
编写一个程序,要求用户输入数字n
并打印总和
数字1到n中的一个。该程序一直要求输入一个号码,直到
用户输入0。
expected output:
enter an integer number (0 to end): 5
1+2+3+4+5 = 15
我能够解决第二个问题,直到用户输入0。 我遇到的问题是循环打印数字。
1+2+3+4+5 = 15
我在想,如果我在一个循环中使用一个循环,我可以做到这一点。这是我当前的代码。我看到其他问题可以回答此编程问题,但我想知道如何特别打印出导致我输入的数字的数字
num = int(input( "enter a integer: " ))
sum_num =0
if num != 0:
for i in range(1, num+1):
sum_num += i
print(sum_num)
else:
exit()
答案 0 :(得分:1)
您的代码有几个问题:
while
循环将永远不会结束。其预期目的尚不清楚。i
。print
语句仅在末尾出现。您可以将其包含在循环中。range(n)
排除了 n ,因此请使用range(n + 1)
。print
。将所有内容放在一起:
num = int(input( "enter a integer: " ))
sum_num = 0
for i in range(1, num+1):
sum_num += i
print(sum_num)
enter a integer: 5
1
3
6
10
15
答案 1 :(得分:1)
我认为这符合您的需求:
while True:
output = ""
num = int(input("enter a integer: "))
if num == 0:
exit()
for i in range(1, num+1):
output += "{}".format(i)
if i != num:
output += "+"
output += " = {}".format(sum(range(num+1)))
print (output)
这将打印出整数和,然后输出答案,然后等待下一个输入。输出示例:
$ python test.py
enter a integer: 5
1+2+3+4+5 = 15
enter a integer: 4
1+2+3+4 = 10
enter a integer: 3
1+2+3 = 6
enter a integer: 2
1+2 = 3
enter a integer: 1
1 = 1
enter a integer: 0
= 0
答案 2 :(得分:0)
num=int(input("Enter the Number " ))
sum=0
for i in range(1, num + 1):
sum = sum+ i
print(sum)
Enter the Number 9
45
答案 3 :(得分:0)
n = int(input("enter the no. : "))
sum = 0
for i in range(1,n+1):
if(i<n):
print(i,"+", end=" ")
else:
print(i,end=" ")
sum = sum + i
print("=",sum)
答案 4 :(得分:-1)
n *(n + 1)/ 2
“ zBody zmust zbe zat zleast z30 zcharacters; zyou zentered z9 z ...”