Python入门.08.循环 - 北方连萌

Python入门.08.循环

for循环

处理列表

基本形式为

for 变量 in 列表:
    对每一个变量的处理

numbers = [4335, 3539, 3533, 5645, 4876, 4443]
total = 0
for x in numbers:
    total += x
print(total / len(numbers))
4395.166666666667

for n in '月火水木金土日':
    print(n)
月
火
水
木
金
土
日

处理范围

取出范围内的数值

range()第三个参数表示步进(公差)

for x in range(1, 7, 2):
    print(x)
1
3
5

重复执行范围内的回数的操作

n = int(input('回数:'))
for i in range(n):
    print('Text')
回数:3
Text
Text
Text

循环判断

str = input('输入字符串:')
count = 0
for c in str:
    if c == 'a':
        count += 1
print(count)
输入字符串:da54da5a4sda5asx4a5sa54ad456ads4a5sxa45a5x
12

while循环

基本形式

while 条件:
    条件为真时执行的语句

print('程序开始')

n = 10
while n > 0: 
    print(n)
    n = n - 1

print('程序结束')
程序开始
10
9
8
7
6
5
4
3
2
1
程序结束

若条件为假,则跳过该块

print('程序开始')

n = 10
while n < 0: 
    print(n)
    n = n - 1

print('程序结束')
程序开始
程序结束

若循环体中没有停止条件,则无限循环

while True:
    print('条件为真,无限循环')

计算阶乘

n = int(input('输入阶乘的末项:'))
i = 1
p = 1
while i < n + 1:
    p = p * i
    i += 1
print('%d的阶乘为%d' %(n, p))
输入阶乘的末项:10
10的阶乘为3628800

等差数列

total = 0
i = 0
n = int(input('整数を入力:'))
while i < n + 1:
    total += i
    i += 1
print(total)
输入末项:100
5050

跳出循环

使用break跳出其所在最内层的while循环

while True:
    word = input('输入:')
    print(word)
    if word == '跳出循环':
        break
print('输入正确,已跳出')
输入:跳出循环
跳出循环
输入正确,已跳出

回到循环开头

使用continue回到while循环的开头

print('输入3个数,范围为0~100')
i = 0
total = 0
while i < 3:
    score = int(input('输入第%d个数:' %(i + 1)))
    if score < 0 or 100 < score:
        print('范围不符')
        continue
    total = total + score
    i = i + 1
print('平均数:%d' %(total / 3))
输入3个数,范围为0~100
输入第1个数:464
范围不符,重试
输入第1个数:4545
范围不符,重试
输入第1个数:454
范围不符,重试
输入第1个数:45
输入第2个数:4654
范围不符,重试
输入第2个数:486
范围不符,重试
输入第2个数:544854
范围不符,重试
输入第2个数:76
输入第3个数:4584
范围不符,重试
输入第3个数:19
平均数:46

添加新评论

电子邮件地址不会被公开,评论内容可能需要管理员审核后显示。