Python 知识量:10 - 41 - 150
阶乘用于计算将n个物体排列时有多少种方式,类似于这样的数字:1×2×3×…×n。例如:排列字母ABC时,有1×2×3=6种不同的方式。
1、下面是一个使用for循环计算阶乘的示例:
# for.py n=int(input('Please input an integer >=0:')) result=1 for i in range(2,n+1): result=result*i print(str(n)+' factorial is '+str(result))
如果输入6,运行结果为:
>>> ======================= RESTART: D:\PythonTestFile\for.py ====================== Please input an integer >=0:6 6 factorial is 720
2、如果使用while循环来实现,则代码如下所示:
# while.py n=int(input('Please input an integer >=0:')) result=1 i=2 while i<=n: result=result*i i=i+1 print(str(n)+' factorial is '+str(result))
如果输入6,运行结果是相同的:
>>> ====================== RESTART: D:\PythonTestFile\while.py ===================== Please input an integer >=0:6 6 factorial is 720
可以利用循环来计算用户输入数字的和,具体做法是:首先获取用户要输入的数字个数,然后根据个数循环接收输入数字并累计,最后打印结果。
1、使用for循环实现的示例如下:
# for.py n=int(input('How many numbers to sum? ')) total=0 for i in range(n): get=input('Enter number '+str(i+1)+': ') total=total+int(get) print('The sum is '+str(total))
根据输入,运行结果可能为:
>>> ======================= RESTART: D:\PythonTestFile\for.py ====================== How many numbers to sum? 5 Enter number 1: 11 Enter number 2: 36 Enter number 3: 25 Enter number 4: 46 Enter number 5: 18 The sum is 136
2、使用while循环实现的示例如下:
# while.py n=int(input('How many numbers to sum? ')) total=0 i=1 while i<=n: get=input('Enter number '+str(i)+': ') total=total+int(get) i=i+1 print('The sum is '+str(total))
根据输入,运行结果可能为:
>>> ====================== RESTART: D:\PythonTestFile\while.py ===================== How many numbers to sum? 5 Enter number 1: 24 Enter number 2: 36 Enter number 3: 8 Enter number 4: 15 Enter number 5: 43 The sum is 126
如果事先不知道用户会输入多少个数字,如何来计算输入数字的总和呢?可以约定当用户输入的不是数字,而是某个单词时(例如:done),输入即结束。
要完成以上计算,需要使用while循环,for循环在这种情况下就无能为力了。以下是示例:
# done.py total=0 i=1; get=input('Enter number '+str(i)+' or "done": ') while get!='done': total=total+int(get) i=i+1 get=input('Enter number '+str(i)+' or "done": ') print('The sum is '+str(total))
运行结果为:
>>> ====================== RESTART: D:\PythonTestFile\done.py ====================== Enter number 1 or "done": 26 Enter number 2 or "done": 35 Enter number 3 or "done": 10 Enter number 4 or "done": 59 Enter number 5 or "done": 64 Enter number 6 or "done": 8 Enter number 7 or "done": done The sum is 202
以上代码中,首先让用户输入第一个数字,然后在while循环头中判断输入的是否是“done”,如果不是“done”,则默认是数字,进入循环。累加之后,再进行一次输入,如此循环往复,直到用户输入“done”为止。
以上程序中,分别在while循环的内外各设置了一个输入语句,外面的用于第1次输入,里面的用于循环输入。变量i不再用于循环计数,而是用于标记数字个数。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6