举个例子说明这种情况。现在计划开发另一个更好的阶乘计算器,希望它能任意次地接受输入并计算阶乘值,直至用户希望结束为止。
这里的情况与前面三次计算阶乘的程序有些类似,需要把一段计算阶乘的代码包在一个循环里。但是现在循环次数无法事先确定,而且,这个程序每次执行中需要计算阶乘的次数有可能不同,根据用户的需要确定。另外,我们也不要求用户在程序开始时先决定计算的次数,并把这个次数告知(通过输入)计算阶乘的程序,而是允许用户在程序工作中随时提出结束的要求。为了处理这种情况,我们需要给用户提供一种表达结束的方式。由于负数的阶乘没有定义,我们可以规定一旦用户输入负数,循环就结束,而是否为负数就是计算器继续工作(重复执行)的条件,可以用一个while语句描述。
确定了上面的问题解决方案之后,写出程序已经不困难了:
# -*- coding: UTF-8 -*-
print("这是阶乘计算器. -1 to stop.")
n = int(input("阶乘: "))
while n >= 0:
prod = 1
for i in range(2, n + 1):
prod = prod * i
print("阶乘", n, "is", prod)
#n!
n = int(input("这是阶乘计算器: "))
print("Bye!")
2:
# -*- coding: UTF-8 -*-
# 段点很重要
# 用户输入数字
num = int(input("请输入一个数字: "))
# while 加条件~关键处~!!!!
while num >= 0:
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
print(i, "乘于", num // i, "是", num)
break
else:
print(num, "是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num, "不是质数")
# 下句重合while,也是关键处!
num = int(input("请输入一个数字: "))