小白学习Python的第三天

一. Python中的循环有两种:for循环和while循环

1. for循环

1.for循环的语法

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

说明:
a. for/in - 关键字;固定写法
b. 变量 - 可以是任意变量;一般写一个新的变量
c. 序列 - Python中容器型数据类型,例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
d. 冒号 - 固定写法
e. 循环体 - 和for保持一个缩进的一条或者多条语句;
           循环题就是需要重复执行的代码块

执行过程:
让变量在序列中取值,一个一个的取,取完为止;每取一个值执行一次循环体
(for循环的循环次数看序列中元素的个数)

"""
for i in 'abc':
    print(i, 'hello')
# a hello
# b hello
# c hello

2.range的用法

"""
1)range(N) - 产生一个 0 ~ N-1 的数字序列
             (N必须是正整数)
2)range(M, N) - 产生 M ~ N-1 的数字序列:M, M+1, M+2...N-1 
                (M和N都是整数并且M小于N)
3)range(M, N, step) - step控制每次增加的值(默认是步长为1):M, M+step, M+step*2, ...

"""
for x in range(4):
    print(x)

for i in range(10, 101):
    print('i:', i)

for j in range(0, 101, 2):
    print('j:', j)

for y in range(1, 100, 2):
    print('y:', y)
# 练习:产生 -1到-100所有数字
for z in range(-1, -101, -1):
     print('z:', z)
# 求和套路:计算1+2+3+...+100的和
total = 0
for m in range(1, 101):
     total += m
print(total)
# 统计个数:统计0~100中能够被3整除的偶数的个数
a = 0
for n in range(0, 101, 6):
     a += 1
print(a)
# 练习1:求1000以内能被7整除但是不能被3整除的数的和
# 方法一
total = 0
for i in range(1001):
    if i % 7 == 0 and i % 3 != 0:
        total += i
print(total)
# 方法二:
total = 0
for i in range(0, 1001, 7):
    if i % 3 != 0:
        total += i
print(total)

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

2. while循环

1.while循环的语法

"""
语法:
while 条件语句:
    循环体

说明:
while - 关键字;固定写法
条件语句 - 除了赋值语句以外的任意表达式
冒号 - 固定写法
循环体 - 和while保持一个缩进的一条或多条语句
        循环体就是需要重复执行代码块

执行过程:
先判断条件语句是否为True,为True就执行循环体,执行完循环体,在判断条件语句是否为True
,为True在执行循环体,...以此类推,直到条件语句为False,整个循环结束

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

2.for循环和while循环的选择

"""
什么时候用for循环:
1)遍历序列(将序列中的元素一个一个取出来)
2)循环次数确定

什么时候用while循环:
1)死循环
2)循环次数不确定
"""
# 练习:写程序实现不断输入数据,直到输入的内容为0为止
num = input('请输入:')
while num != '0':
    num = input('请输入:')

3. continue 与 break

continue 和 break 只能在循环体中使用

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

for i in range(5):
    print('=====')
    continue
    print('+++++')
    
# =====
# =====
# =====
# =====
# =====

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

num = 0
while num < 5:
    print('===')
    break
    print('+++')
    num += 1
# ===
num = 0
sum1 = 0
while True:
    sum1 += num
    if sum1 > 1000:
        break
    num += 1
print(num-1, sum1-num)
# 44 990

3.while循环的用法

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

randint(M, N) - 产生一个M ~ N 的随机整数

# 猜数字游戏:
"""
随机产生一个0~100数字:num,用户不断输入数字直到输入的值与产生的值相等游戏结束
"""

num = random.randint(0, 100)
count = 1
# print(num)
while True:
    guess = int(input('输入一个整数:'))
    if guess > num:
        print('猜大了,请在猜')
    elif guess < num:
        print('猜小了,请在猜')
    else:
        print('恭喜你,猜对了')
        break
    count += 1
print(count)

4. else

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

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

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

else不影响原循环的执行;else后面的代码块在循环正常结束的情况下会执行
如果循环是因为遇到break而结束的,else后面的代码块就不会执行。
"""
for i in range(5):
    if i == 3:
        break
    print('====')
else:
    print('else!')
# 不会输出任何值

猜你喜欢

转载自blog.csdn.net/bbbbbya/article/details/108778381