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