python的循环结构

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值