循环

循环

1.for循环

1.语法:
for 变量 in 序列:
循环体

2.说明:
a. for/in - 关键字;固定写法
b. 变量 - 可以是任意变量;一般写一个新的变量
c. 序列 - python中容器型数据类型,例如:字符串、列表、字典、集合、元组、迭代器、生成器、range等;
d. 冒号 - 固定写法
e. 循环体 - 和for保持一个缩进的一条或者多条语句;
循环体就是需要重复执行的代码块
3.执行过程:
让变量去序列中一个一个的取值,取完为止;每取一个值执行一次循环体(循环次数看序列中元素的个数)
range(N) - 产生一个0 ~ N-1 的数字序列:0,1,2,3,…,N-1(N必须是正整数)
range(M, N) - 产生一个M ~ N-1 的数字序列;
range(M,N,step) - 产生一个M ~ N 的步长为step的数字序列(step控制每次增加的值,默认是1);

# 练习:产生一个0 ~ 100内的奇数的序列
for i in range(1, 100, 2):
    print(i)
# 练习:产生一个100 ~ 1所有的数字对应的序列
for i in range(100, 0, -1):
    print('i:', i)

# 练习:统计1000以内是十位数加上个位数的和等于5的个数
count = 0
for i in range(0, 1001):
    if i % 100 // 10 + i % 10 == 5:
        count += 1
print('count:', count)

2.while循环

1.语法:
while 条件语句:
循环体

2.说明:
while - 关键字;固定写法
条件语句 - 除了赋值语句意外的任何表达式
冒号 - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句;
循环体就是需要重复执行的代码块。
3.执行过程:
先判断条件语句是否为True,为True就执行循环体,执行完循环体再判断条件语句是否为True,为True再执行循环体,…以此类推,知 道条件语句为False整个循环就结束

4.while控制次数的套路:
变量 = 0
while 变量 < 次数
需要重复执行的操作
变量 += 1

5.什么时候用for循环:

​ 1)遍历序列(将序列中的元素一个一个取出来)
​ 2)循环次数确定

6.什么时候用while循环

​ 1)死循环
​ 2)循环次数不确定

# 练习:写程序实现不断输入数据,直到输入的内容为0为止
i = 1
while i != '0':
    i = input('请输入:')

3.Continue和break

1.continue

如果在执行循环体的时候遇到continue,那么当次循环结束直接进入下次循环

count = 0
for x in range(10):
    if x % 3 == 0:
        continue
    count += 1
print(count)

2.break

如果执行循环体的时候遇到了break,那么整个循环直接结束

num = 0
sum1 = 0
while True:
    sum1 += num
    if sum1 > 1000:
        break
    num += 1
print(num - 1, sum1 - num)  # 从0开始累加,求总和不超过1000所累加的最后一个数的大小

3.while循环的用法

while True:
需要重复执行的操作
if 循环结束的条件:
break

# 猜数字游戏
# 随机产生一个0 ~ 100的数字:num,用户不断输入数字直到输入的值和产生的随机数相等游戏就结束
import random
num1 = random.randint(0, 100)
print(num1)
num2 = int(input('请猜一个0~100的数字:'))
count = 0
while num2 != num1:
    count += 1
    if count >= 3:
        print('错了,你已经超过三次机会了,game over')
        break
    if num2 > num1:
        print('你是猪吗,太大了')
        num2 = int(input('请再猜一个小一点的数字:'))
    elif num2 < num1:
        print('你是猪吗,太小了')
        num2 = int(input('请再猜一个大一点的数字:'))
else:
    count += 1
    print('牛皮啊,才', count, '次就被你猜中了', sep='')

4.完整的for循环和while循环

for 变量 in 序列:
循环体
else:
代码块

while 条件语句:
循环体
else:
代码块

else不影响原循环的执行;else后面的代码块在循环正常结束的时候会执行,
如果循环因为遇到break而结束的,else后面的代码块就不会执行。(可以用来验证循环体中有没有遇到break)

for i in range(5):
    if i == 3:
        print('===')
else:
    print('结束')
# ===
# 结束
for i in range(5):
    if i == 3:
        print('===')
        break
else:
    print('结束')
# ===

补充

三目运算符(三元运算符)
1)C语言中的三目运算符:
表达式1 ? 表达式2 : 表达式3 - 判断表达式1是否为True,如果是整个运算结果是表达式2的结果,否则运算结果是表达式3的结果
result = age > = 18 ? “成年” : “未成年”

2)python中的三目运算符
表达式2 if 表达式1 else 表达式3 - 判断表达式1是否为True,如果是整个运算结果是表达式2的结果,否则运算结果是表达式3的结果
result = “成年” if age > = 18 else “未成年”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值