While语句
格式:while 表达式 :
语句
[else :
else 语句]
while语句执行过程:如果表达式的值为True,则执行while后面的语句;否则执行else后面的语句,结束循环。Else可以不写。
# 使用while语句计算1~100的和。
sum = 0
i = 0
while i < 100: # 设置循环次数
i += 1
sum += i
print(sum)
# 使用while-else求1~10的阶乘和
i = 1
product = 1
sum = 0
while i <= 10:
product = product * i
i += 1
sum += product
else:
print(sum)
# 通过键盘动态录入学生的英语成绩,输入-1退出录入成绩,并计算录入学生英语成绩
# 的总人数和平均分
quantity = 0
average = 0
sum1 = 0
while True:
score = int(input('输入学生的成绩'))
if score == -1 and quantity != 0:
average = sum1 / quantity
print('学生人数为:%d,平均分为:%d' % (quantity, average))
break
quantity += 1
sum1 += score
for语句
格式:for 变量 in 序列或迭代对象:
语句
[else:
语句]
For语句执行过程:当序列或迭代对象中的元素没有执行完毕时,执行for语句中的语句。否则执行else中的语句,结束循环。Else可选。
# 使用for语句遍历字符串和列表中的元素
str1 = str(input('输入字符串'))
print(str1)
for i in str1:
print(i, end=' ')
print()
list1 = input('输入列表元素')
print(list1)
for i in list1:
print(i, end=' ')
# 使用for语句遍历元组
yz = (input('输入元组元素'))
print(yz)
for i in yz:
print(i, end=' ')
for 语句中的range()函数
range()在for语句中常用于控制循环次数
range(n):从0开始取值到n-1结束
range(start,stop):[ start ,stop)
range(start,stop,step):step是步长,表示从start到stop之间隔step取一个数。
# 求1~20里能被3整除的所有数的和
sum = 0
for i in range(1, 21):
if i % 3 == 0:
sum += i
print(sum)
sum1 = 0
for i in range(3, 21, 3):
sum1 += i
print(sum1)
break,continue,pass
break:用于退出循环
continue:跳过该次循环
pass:空语句,不做任何处理
# 输出斐波那契数列的前十项
f1 = 1
f2 = 1
print(f1, f2, end=' ')
for i in range(1, 9):
sum1 = f1 + f2
print(sum1, end=' ')
f1 = f2
f2 = sum1
# 求1~10范围内所有偶数的和
sum1 = 0
for i in range(1, 11):
if i % 2 == 0:
sum1 += i
print(sum1)
# 验证客户的股票抽签号是否中签,中签的股票号码以88开头且为8位
num = str(input('输入股票号码'))
if len(num) == 8 and num.isdigit() == True:
if int(int(num) / 1000000) == 88:
print('中奖')
else:
print('没中')
循环嵌套
# 输出五行五列左下角为直角三角形
for i in range(1, 6):
print('*' * i)
# 输出对角线为1的4*4矩阵
for i in range(1, 5):
for j in range(1, 5):
if i == j or j + i == 5:
print('1', end=' ')
else:
print('0', end=' ')
print()