循环语句

Reads: 775 Edit

1 for语句

for i in range(n):
  表达式

说明:range(n)生成0,1,2,...,n-1的序列

for语句计算n的阶乘:

n = 10  # 阶乘的阶数
f = 1  # 阶乘初始值
for i in range(1, 11):
    f = f * i
print(f)

说明:print(f)不能缩进,否则其将位于for循环的语句块中执行。

运行结果:

3628800

判断一个数是否为质数:

num = 97
for i in range(2, num):
    if num <= 1:
        print(str(num) + "不是质数!")
        break
    if num == 2:
        print(str(num) + "是质数!")
        break
    if num % i == 0:
        print(str(num) + "不是质数!")
        break
    if i == num-1:
        print(str(num) + "是质数!")
        break

运行结果:

97是质数!

num = 77
for i in range(2, num):
    if num <= 1:
        print(str(num) + "不是质数!")
        break
    if num == 2:
        print(str(num) + "是质数!")
        break
    if num % i == 0:
        print(str(num) + "不是质数!")
        break
    if i == num-1:
        print(str(num) + "是质数!")
        break

运行结果:

77不是质数!

2 for循环嵌套

对数据进行排序:

s = [5, 1, 8, 10, 2, 9, 8]
le = len(s)
for i in range(le-1, 0, -1):
    for j in range(i):
        if s[j] > s[j+1]:
            temp = s[j+1]
            s[j+1] = s[j]
            s[j] = temp
print(s)

运行结果

[1, 2, 5, 8, 8, 9, 10]

3 while语句

采用while语句计算n的阶乘:

n = 10
f = 1
i = 1
while i <= 10:
    f = f*i
    i = i+1
print(f)

运行结果:

3628800

Comments

Make a comment