当前位置: 首页 > news >正文

python入门(2)

一、判断语句

直白一点就是条件判断语句,符合条件的才会执行,Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false

(一)if判断语句基础版本

语法格式

if 要判断的条件:条件成立时,执行这行内容......

注意:代码的缩进为一个 tab 键,或者4个空格–建议使用空格。在Python 开发中,Tab 和空格不要混用!
在这里插入图片描述

1.1 条件判断练习题

需求
1定义一个整数变量记录年龄
2.判断是否满18 岁(>=)
3.如果满18岁,允许进网吧嗨皮

age = 21
if age >= 18:
# if语句和它下面的缩进语句是一个整体,条件成立才会执行缩进部分,不成立直接跳过整个代码块print("成年了允许进入网吧")
# 无论条件语句是否成立,这句都会执行
print("这句话什么时候执行")
1.2 不满足条件的判断语句

上面说条件才会执行缩进语句,不满足语句的话可以使用else,if 和else 语句以及各自的缩进部分共同是一个 完整的代码块

语法格式:

if 要判断的条件:条件成立时,执行这行内容
else:条件不成立时,执行这行内容
1.3 条件判断练习题

需求
1定义一个整数变量记录年龄
2.判断是否满18 岁(>=)
3.如果满18岁,允许进网吧嗨皮
4.不满足回家写作业

age = 15
if age >= 18:print("成年了允许进入网吧")
else:print("不想挨打就回家写作业")

(二)if判断语句进阶版

语法格式:

if 要判断的条件1:条件1成立时,执行这行内容
elif 条件2:条件2成立时,执行这行内容
elif 条件3:条件3成立时,执行这行内容
else:以上条件都不成立时,执行这行内容
2.1 elif判断语句练习题
holiday_name ="平安夜"
if holiday_name =="情人节":print("买玫瑰")print("看电影")
elif holiday_name =="平安夜":print("买苹果")print("吃大餐")
elif holiday_name =="生日":print("买蛋糕")
else:print("每天都是节日啊.....")

(三)if判断语句高级版

if语句嵌套
elif的应用场景是:同时判断多个条件,所有的条件是平级的
在开发中,使用if进行条件判断,如果希望 在条件成立的执行语句中再增加条件判断,就可以使用if 的嵌套
if 的嵌 的应用场景就是:在之前条件满足的前提下,再增加额外的判断if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式如下:

if 条件 1:条件 1 满足执行的代码if 条件 1 基础上的条件 2:条件 2满足时,执行的代码#条件 2不满足的处理else:条件 2 不满足时,执行的代码
# 条件 1不满足的处理else:条件1 不满足时,执行的代码
3.1 嵌套语句练习题

需求

  • 1定义布尔型变量表示是否有车票has_ticket
  • 2.定义整型变量 knife_length 表示刀的长度,单位:厘米
  • 3.首先检查是否有车票,如果有,才允许进行 安检
  • 4.安检时,需要检查刀的长度,判断是否超过 20 厘米
  • 5如果超过 20 厘米,提示刀的长度,不允许上车如果不超过20厘米,安检通过
  • 6.如果没有车票,不允许进门
has_ticket = True
knife_length = 20
if has_ticket:print("有车票可以进行安检")if knife_length < 20:print("刀的长度小于20cm,可以上车")else:print("刀的长度大于等于20cm,不可以上车")
else:print("没有车票不可以进行安检")
3.2 判断语句综合练习题
  • 目标
  • 1.强化多个条件的逻辑运算
  • 2体会import导入模块(“工具包”)的使用
  • 需求
  • 1.从控制台输入要出的拳–石头 (1)/剪刀 (2) /布 (3)
  • 2.电脑 随机出拳-先假定电脑只会出石头,完成整体代码功能
  • 3.比较胜负
  • 进阶需求
  • 1.从用户输入要出的类型–石头 (1)/剪刀 (2) /布 (3)
  • 2.电脑随机出拳完成整体代码功能
  • 3.比较胜负
while True:try:preson = int(input(">>>>>"))except ValueError as e:print(e)continueif 1 <= preson <= 3:computer = random.randint(1, 3)  # 石头(1) /剪刀 (2) /布 (3)if computer == 1:  # 平局  电脑胜   玩家胜if preson == 1:print("平局")if preson == 2:print("电脑胜")if preson == 3:print("玩家胜")elif computer == 2:if preson == 1:print("玩家胜")if preson == 2:print("平局")if preson == 3:print("电脑胜")continueelse:if preson == 1:print("电脑胜")if preson == 2:print("玩家胜")if preson == 3:print("平局")else:print("输入错误,重新输入")continue
3.3 简化版写法
import random
while True:try:person = int(input("请输入你要输入的石头(1) /剪刀 (2) /布 (3)"))except ValueError as e:print(e)continueif 1 <= person <= 3:computer = random.randint(1,3)if person == computer:print("平局")elif (person == 1 and computer ==2) or (person == 2 and computer ==3) or (person ==3 and computer ==1):print("玩家胜")else:print("电脑胜") 
3.4 python随机数的使用

random.randint(a,b) 生成指定范围内的整数

 import random  #导入随机数模块工具包# 导入模块后,可以直接在 模块名称后面敲一个然后按Tab 键,会提示该模块中包含的所有函数computer = random.randint(a,b)  #生成指定范围内的整数 random.randint(12,20)#生成的随机数n: 12 <= n <= 20random.randint(20,20)# 结果永远是 20random.randint(20,10)# 该语句是错误的,下限必须小于上限

(四)if判断语句改版

assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python 解释器会报 AssertionError 错误。assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具,可以有效预防 bug 的发生,提高程序的健壮性,

语法格式为:

assert 条件表达式
代码块

注意:①“条件表达式”后不用加冒号 : ②“代码块”前不用缩进。

a = int(input("请输入考试分数:"))
assert 0 <= a <= 100                           # 断言数学考试分数是否位于正常范围内         
print("你的考试成绩为:", a)                   # 只有当考试成绩位于 [0,100]范围内,程序才会继续执行

(五)三元表达式

表达式(1)为 True 执行语句 if 条件表达式(1) else 表达式(1)为 False 执行语句

示例代码:

age = 20cn = "成年" if age >= 18 else "未成年"
print(cn)

返回多个条语句
可以编写如下代码结构,在条件表达式中返回多条语句。

age = 20cn = "成年", "大于18" if age >= 18 else "未成年"
print(cn)

在函数内部使用三元表达式
有些简单的判定逻辑,可以直接使用三元表达式简化,例如判断传入参数是否为偶数。

def even_num(num):return True if num % 2 == 0 else False

二、循环语句

循环就是让代码一直重复的执行下去
python代码中的循环语句有两种1.for 2.while

(一)程序的三大流程

在程序开发中,一共有三种流程方式

  • 顺序 – 从上向下,顺序执行代码
  • 分支-- 根据条件判断,决定执行代码的分支
  • 循环–让特定代码重复执行
    在这里插入图片描述

(二)while循环语句

循环的作用就是让 指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

2.1while循环的定义

while循环语法:

初始条件设置--通常是重复执行的计数器
while 条件(判断 计数器 是否达到 目标次数):条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...省略...处理条件(计数器+1)
需求--打印5遍Hello Python
思考--如果要求打印 100 遍怎么办?
i = 1
while i < 100:print("Hello World!")i+=1
print("一共输出 %d 次Hello World!" % i)
2.2 Python中的计数方法

常见的计数方法有两种,可以分别称为:

  • 自然计数法(从1开始)–更符合人类的习惯
  • 程序计数法(从0开始)–几乎所有的程序语言都选择从0开始计数

因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环 的计数都从0开始

循环计算

在程序开发中,通常会遇到利用循环重复计算的需求,遇到这种需求,可以

  • 1在while上方定义一个变量,用于存放最终计算结果
  • 2在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量 需求

计算0~100之间所有数字的累计求和结果

i = 0
result = 0
while i <= 100:print(i)result += ii+=1
print(result)

计算0~ 100之间所有偶数的累计求和结果

i = 0
result = 0
while i <= 100:if i % 2 ==0:print(i)result += ii+=1
print(result)
i = 0
result = 0
while i <= 100:if i % 2 !=0:print(i)result += ii+=1
print(result)
2.3 break和continue

break 语句可以跳出 for 和 while 的循环体,就是循环整个终止,任何对应的循环 else 块将不执行。

continue 语句只是跳过本次循环块中的剩余语句,然后继续进行下一轮循环。

i = 0
while i <= 10:if i ==5:print(i)break    i+=1
print(result)
i=0
while i < 10:# continue 某一条件满足时,不执行后续重复的代码# i== 3if i == 3:# 注意: 在循环中,如果使用 continue 这个关键字# 在使用关键字之前,需要确认循环的计数是否修改# 否则可能会导致死循环i += 1continueprint(i)i += 1

① 使用 break 跳出当前循环体之后,该循环后的 else 代码块也不会被执行。但是,如果将 else 代码块中的代码直接放在循环体的后面,则该部分代码将会被执行。
对于嵌套的循环结构来说,break 语句只会终止所在循环体的执行,而不会作用于所有的循环体

2.4 pass 语句

Python 中的 pass 是空语句,pass 不做任何事情,表示一个占位符,一般用作占位语句,能够保证程序的代码结构正确,使用 pass 语句比使用注释更加优雅。

while True:pass
2.5 while…else… 循环

如果 while 后面的条件表达式判定为 False 时,则执行 else 的代码块,语法格式如下:

while 条件表达式:代码块(循环体)
else:代码块
# 计算 1-100 的和
sum_i = 0
i = 0
while 0 <= i <= 100:sum_i += ii += 1
else:print(end="\n")print(sum_i)
2.4 range 函数

range 函数是 Python 中的内置函数,用于生成一系列连续的整数,一般用于 for 循环体中,range 函数的一般语法格式为:range(start, stop, step)

for x in range(1, 8, 2):print(x)
2.5 while循环嵌套

while 嵌套就是:while 里面还有while

while 条件 1:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...while 条件 2:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...处理条件 2
处理条件 1

练习题:用套打印小星星
需求
在控制台连续输出五行*,每一行星号的数量依次递增

i = 1
while i <= 5:print("*" * i)i+=1
row = 1
while row <= 5:cow = 1while cow <= row:print("*", end="")cow += 1print("")row += 1

九九乘法表

i = 1
while i < 10:j = 1while j <= i:print("%d * %d = %d" % (j, i, j*i),end="\t") #制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本j += 1print("")i += 1

知识点 对print函数的使用做一个增强

在默认情况下,print 函数输出内容之后,会自动在内容末尾增加换行如果不希望末尾增加换行,可以在 print 函数输出内容的后面增加:
end="",其中""中间可以指定 print 函数输出内容之后,继续希望显示的内容语法格式如下:
向控制台输出内容结束之后,不会换行print("*",end="")
单纯的换行print("")
i = 1
while i <= 5:print("*",end="")i+=1
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1000:print(b, end=',')a, b = b, a+b

(三)for 循环

Python for循环可以遍历任何序列的项目,变量序列可以是字符串、列表、元组、字典和集合

for 变量 in 集合:循环体代码
for letter in 'Python':     # 第一个实例print("当前字母: %s" % letter)
for num in range(10,20): print(num)
3.1 for…else… 循环

for…else… 语句用于在循环结束后执行一段代码,语法格式为:

for 迭代变量 in 序列:代码块(循环体)
else:代码块
for num in range(10,20):  # 迭代 10 到 20 (不包含) 之间的数字for i in range(2,num): # 根据因子迭代if num%i == 0:      # 确定第一个因子j=num/i          # 计算第二个因子print ('%d 等于 %d * %d' % (num,i,j))break            # 跳出当前循环else:                  # 循环的 else 部分print ('%d 是一个质数' % num)
3.2 while 循环和 for 循环的比较

(1)while 循环

① while 循环称之为“条件循环”,循环次数取决于条件何时变为假;

② while 循环适合循环次数是未知的操作。

(2)for 循环

① for 循环称之为"取值循环",循环次数取决 in 后包含的值的个数;

② for 循环适合循环次数是已知的操作。

 

 

相关文章:

  • 使用 Laravel 中的自定义存根简化工作
  • 计算机组成原理-存储器的概述
  • 快速上手 Metabase:从安装到高级功能实战
  • 解决国产GD32下载的工程无法编译
  • 基于 GWAS 的群体遗传分析将 bZIP29 确定为玉米中的异种基因
  • SpringBoot 配置加载顺序?
  • Cursor学习-Java环境配置
  • 不等式是否满足约束并输出最大差 - 华为OD机试真题(JavaScript 题解)
  • 运维_集运维核心学习
  • MCP详解及协议的使用(python版本和Node版本)
  • AGV|无人叉车工业语音播报器|预警提示器LBE-LEX系列性能与接线说明
  • 《光子技术成像技术》第二章 预习2025.6.7
  • 低代码平台前端页面表格字段绑定与后端数据传输交互主要有哪些方式?华为云Astro在这方面有哪些方式?
  • 坚持每日Codeforces三题挑战:Day 4 - 题目详解(2025-06-07,难度:1000, 1100, 1400)
  • [AI绘画]sd学习记录(二)文生图参数进阶
  • 分享一道力扣
  • 实习学习项目
  • 6.7 打卡
  • OCR MLLM Evaluation
  • pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
  • 12306网站谁做的/百度网站官网入口网址
  • 顺德乐从有做阿里巴巴的网站吗/百度下载安装免费
  • 专门做面条菜谱的网站/怎么样做seo
  • 外贸建站与推广如何做 google/百度导航如何设置公司地址
  • 淘宝客建设网站/宁波免费建站seo排名
  • 网站开发做原型吗/seo运营是做什么的