python基础知识(四)--if语句,for\while循环

目录

if语句

if-else语句

if...elif...else...语句的语法

if嵌套语句语法

while循环

死循环

for循环

例题:

1.请使用*代替,并输出一个正方形的显示效果。

2.逢7必过的游戏

3.九九乘法表

[4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...](#4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...)

5.猜数字游戏

Python中有三大基本语句,它们支撑起了程序的业务逻辑处理。

三大基本语句有:

(1)顺序语句

(2)分支语句

(3)循环语句

1)顺序语句

顺序语句指的是:让代码按照顺序从上往下、一行一行的执行代码。

2)分支语句

分支语句指的是:程序在遇到不同条件时,要做判断处理。例如当条件成立,则执行代码A;当条件不成立,则执行代码B。

3)循环语句

循环语句指的是:反复多次执行地执行某操作。

另外的,也可以设定终止循环的关键字。

if语句

python 复制代码
if 条件: 
   条件成立时,要做的事情

if-else语句

python 复制代码
if 条件:
        满足条件时,要做的事情1
        满足条件时,要做的事情2
        满足条件时,要做的事情3
        ...(省略)...
else:
        不满足条件时,要做的事情1
        不满足条件时,要做的事情2
        不满足条件时,要做的事情3
        ...(省略)...

if...elif...else...语句的语法

python 复制代码
if 条件1:
        满足条件1,执行代码1
        ...
elif 条件2:
        满足条件2,执行代码2
        ...
elif 条件3:
        满足条件3,执行代码3
        ...
...

if嵌套语句语法

python 复制代码
if 条件1:
        满足条件1,做的事情1
        满足条,1,做的事情2
        ...
        if 条件2:
                满足条件2,做的事情1
                满足条件2,做的事情2
                ...

说明:

当成功满足外层的if条件执行后,才能执行内层的if语句。

while循环

python 复制代码
初始化变量语句
while 循环条件:
    循环体语句
    改变循环条件的语句  # 先写

例如,一起来完成:

(1)计算10 ~ 100之间所有自然数的和(包含10和100);

(2)分别使用正常和逆向思维来完成。

python 复制代码
# 正常
total_sum = 0
i = 10
while i <= 100:
    # print(i)
    total_sum += i
    i += 1
print(f"求和为:{total_sum}")

# 逆向
 sum = 0
 j = 100
 while j >= 10:
     sum += j
     j -= 1
 print(f"求和为:{sum}")

死循环

死循环也称为无限循环,指的是程序代码一直执行,不会停止。

产生死循环的情况有:

python 复制代码
(1)缺少了:改变循环条件的语句;
(2)误写了:循环条件;
(3)标准的死循环格式。

接下来,先来看看标准的死循环格式。

python 复制代码
while True:
        代码1
        代码2
        ...

for循环

与while循环功能类似,for语句也能完成反复多次的执行。

for语法:

python 复制代码
for 临时变量 in 序列:
    满足条件时,执行的代码1
    满足条件时,执行的代码2
    ......
[else:
        当for循环正常执行结束后,执行代码]

for循环里常见的序列range()函数。

|-------------|--------------------|
| 函数名 | 含义 |
| range(x, y) | 一个序列,专门用于给for循环使用。 |

说明:

range()中的参数表示从x到y的取值,即[x,y),表示能获取到x值,但获取不到y值。

嵌套循环的语法:

python 复制代码
初始化变量语句1
while 循环条件1:  # 外层循环
    [循环体语句1]
    初始化变量语句2
    while 循环条件2:  # 内层循环
        循环体语句2
        改变循环条件的语句2
    改变循环条件的语句1

说明:

(1)可以把内层循环当做一个循环的循环体语句来处理;

(2)当外层循环执行一次,内层循环执行所有。

例题:

1.请使用*代替,并输出一个正方形的显示效果。

python 复制代码
# 1.输出行
i = 1
while i <= 5:
    # 2.输出列
    j = 1
    while j <= 5:
        print("*", end="\t")
        j += 1
    print("")
    i += 1

2.逢7必过的游戏

if条件判断,while循环

python 复制代码
i=1
while i<=999:
    if i%7==0 or i%10==7 or i//10%10==7 or i//100%10==7:
        print('过')
    else:
        print(i)
    i+= 1

3.九九乘法表

for、while的两种实现:

python 复制代码
#for循环
for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j} * {i} = {i * j}",end='\t')
    print()

# 方案二 while循环
 i = 1
 while i<=9:

     j = 1
     while j<=i:
         print(j, '列', end='\t')
         j=j+1

     print(i, '行')
     i += 1

4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束

1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...

(为了练习循环 break--continue)

python 复制代码
# 案例2: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束
# 1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...
#  方式一
 for i in range(1000):
     if i%7==0 or i//100%10==7 or i//10%10==7 or i%10==7:
         continue # 跳过本次循环

     print(i)

     # print(i, i%7, i//100%10, i//10%10, i%10)

     if i==150:
         break

#方式二
i=0
while i<=999:
    if i%7==0 or i//100%10==7 or i//10%10==7 or i%10==7:
        i+=1
        continue
    print(i)

    if i==150:
        break
    i += 1

random模生成随机数的函数:

|---------------|----------------------------------|
| 函数名 | 含义 |
| randint(a, b) | 生成随机数,用于返回[a, b]之间的整数,并能取值a和b。 |

说明:

能同时取值a和b。

5.猜数字游戏

python 复制代码
目标: 猜数字游戏
"""
1 电脑生成一个随机数 [1, 100]
2 死循环
    2.1 用户输入一个猜的数字
    2.2 对比
    2.2.1 大了
    2.2.2 小了
    2.2.3 猜对了 结束
"""

import random

computer = int(random.randint(1, 100))
while True:

    user=int(input('请输入你猜的数字:\t'))

    if user >computer:
        print('大了')
    elif user<computer:
        print('小了')
    else:
        print('猜对了')
        break

快快动手实践吧~

相关推荐
codists9 分钟前
《Django 5 By Example》阅读笔记:p339-p358
python·django
檀越剑指大厂12 分钟前
【Python系列】异步 Web 服务器
服务器·前端·python
m0_6760995830 分钟前
数据结构--创建链表--Python
数据结构·python·链表
搬砖的果果1 小时前
HTTP代理是什么,主要用来干嘛?
网络·python·网络协议·tcp/ip·http
白初&1 小时前
文件上传代码分析
java·c++·python·php·代码审计
菜鸟小贤贤1 小时前
pyhton+yaml+pytest+allure框架封装-全局变量渲染
python·macos·pytest·接口自动化·jinja2
赛丽曼1 小时前
Python中的简单爬虫
爬虫·python
CODE_RabbitV2 小时前
Python + 深度学习从 0 到 1(00 / 99)
开发语言·python·深度学习
微凉的衣柜3 小时前
在 PyTorch 中进行推理时,为什么 `model.eval()` 和 `torch.no_grad()` 需要同时使用?
人工智能·pytorch·python
int WINGsssss3 小时前
使用系统内NCCL环境重新编译Pytorch
人工智能·pytorch·python