编写一个 Python 程序,使用 While 循环、For 循环、函数和递归(附带示例)来查找 N 个自然数的和。为了实现这一点,我们需要一个循环来迭代从 1 到 N 的数字,然后使用算术运算符 + 将这些项加到总数中。
Python 程序使用 For 循环查找 N 个自然数的和
此程序允许用户输入任何整数值。接下来,它使用 For 循环计算从 1 到用户指定的值的自然数之和。如果您想要一种更动态的方法,可以允许用户输入起始值,并将 for 循环中的 1 替换为用户输入的起始值。
for 循环迭代从一开始,一直遍历到用户给定的数字。在循环中,每个值都将加到 total 变量中以找到整数的总和。
number = int(input("Please Enter any Number: "))
total = 0
for value in range(1, number + 1):
total = total + value
print("The Sum from 1 to {0} = {1}".format(number, total))
Please Enter any Number : 25
The Sum from 1 to 25 = 325
Python 程序使用 While 循环查找 N 个自然数的和
在此程序中,我们只是将 For 循环 替换为 While 循环。不要忘记将值初始化为 1 并将其加一(value = value + 1)。
num = int(input("Please Enter any Num: "))
total = 0
value = 1
while (value <= num):
total = total + value
value = value + 1
print("The Sum from 1 to {0} = {1}".format(num, total))
Please Enter any Num: 12
The Sum from 1 to 12 = 78
使用函数
在此 程序 中,我们创建了一个新函数来查找自然数的和。在此函数中,我们使用了 If Else 语句。
def sum_of_n_natural_numbers(num):
if(num == 0):
return num
else:
return (num * (num + 1) / 2)
number = int(input("Please Enter any Number: "))
total_value = sum_of_n_natural_numbers(number)
print("Sum from 1 to {0} = {1}".format(number, total_value))
Please Enter any Number: 100
Sum from 1 to 100 = 5050.0
使用递归
此程序与上面的示例相同,但现在我们使用的是递归。return (num + sum_of_n_natural_numbers(num – 1)) 行会使用更新后的值递归调用函数。
def sum_of_n_natural_numbers(num):
if(num == 0):
return num
else:
return (num + sum_of_n_natural_numbers(num - 1))
number = int(input("Please Enter any Number: "))
total_value = sum_of_n_natural_numbers(number)
print("Sum of Natural Numbers from 1 to {0} = {1}".format(number, total_value))
