Python 基础语法详解:从顺序到循环
Python 作为一门简洁易用的编程语言,其基础语法是构建复杂程序的基石。本文将从顺序语句、条件语句、循环语句三大核心语法入手,结合生动案例,带你快速掌握 Python 编程的基本逻辑。
一、顺序语句
默认情况下,Python 代码会按照从上到下的顺序依次执行,这种按固定顺序运行的代码就是顺序语句。
比如执行以下代码:
print("1")
print("2")
print("3")
执行结果一定是 “123”,绝不会出现 “321” 或 “132” 的情况。
二、条件语句
条件语句能实现 “如果… 否则…” 的语义,让程序根据不同条件走向不同分支,也被称为分支语句。
如果 我认真敲代码
我就很容易找到工作
否则
我就容易毕业就失业
条件语句,就是根据一个具体条件的成立与否,来决定接下来的逻辑走向~
2.1 语法格式
Python 中用if
、else
、elif
关键字实现条件语句,有三种常见格式:
- if 语句:当条件成立时执行指定代码块,不成立则跳过。
若expression
为True
,执行do_something1
和do_something2
,再执行next_something
;若为False
,直接执行next_something
。
- if-else 语句:条件成立执行一个代码块,不成立执行另一个。
- if-elif-else 语句:处理多条件分支,满足哪个条件就执行对应代码块。
注意:Python中的条件语句的写法,和很多编程语言不太一样
实例:让用户输入一个数字,如果输入1表示愿意认真学习,输入2表示想躺平摆烂
实际开发中,用户的输入,很有可能是出乎意料的,如果输入 3 ,结果如何呢?
这不太符合我们的逻辑,所以我们需要把代码逻辑再调整一下!!!
#让用户输入一个数字,如果输入1表示愿意认真学习,输入2表示想躺平摆烂
choice = input("输入入1表示愿意认真学习,输入2表示想躺平摆烂:")#注意这里要比较的是 字符串 1 ,而不是整数 1
if choice == "1" :print("你能找到好工作")
elif choice == "2":print("你可能毕业就失业了")
else:#除了1和2,其他都非法print("您输入有误!!!")
对于非法情况的判定,也是非常必要的!!!因为你永远不会知道用户会如何进行操作!!!
2.2 缩进与代码块
1) 代码块 是指一组放在一起执行的代码
2) 在Python中使用缩进表示代码块,不同级别的缩进,程序执行效果是不同的!!!
# 代码1
a = input("请输入一个整数: ")
if a == "1":print("hello")print("world") # 有缩进,属于if代码块,条件成立才执行# 代码2
a = input("请输入一个整数: ")
if a == "1":print("hello")
print("world") # 无缩进,不属于if代码块,无论条件是否成立都执行
代码1:
代码2:
代码块还可嵌套,缩进层级越多,代码所属范围越具体。
a = input("请输入第一个整数:")
b = input("请输入第二个整数:")if a == "1":if b == "2":print("hello")print("world")
print("python")
缩进也不能乱缩进!!!(在if 、elif、while、for ... 需要跟上代码块的部分,都是需要使用缩进来表示的);
在C++和JAVA中 , 对于代码缩进是没有强制要求的,缩进具体怎么写都不影响代码编译运行结果,如果缩进没有好好统一风格来写,也是对于可读性比较有影响!
同时,带来的坏处就是,如果缩进层次比较多,就容易分不清楚某个语句属于那个层级!
2.3 练习
1)判断奇偶数:
num = input("请输入一个整数:")
num = int(num)if num % 2 == 0 :print("偶数")
else:print("奇数")
a = (int)(input("请输入一个整数:"))
if a > 0 :print("正数")
elif a < 0 :print("负数")
else:print("为0")
3)判断闰年:
四年一闰+百年不闰 , 四百年再闰
year = int(input("请输入一个年份:"))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:print("闰年!")
else:print("平年")
year = int(input("请输入一个年份:"))if year % 100 == 0:#世纪闰年的判定if year % 400 == 0:print("闰年")else:print("平年")
else:#普通闰年的判定if year % 4 == 0:print("闰年")else:print("平年")
2.4 空语句 pass
pass
是空语句,无实际功能,仅用于占位以符合 Python 语法。比如:
a = int(input("请输入一个整数:"))
if a == 1:print("hello")
可以等价为:
a = int(input("请输入一个整数:"))
if a != 1:pass # 占位,避免语法错误
else:print("hello")
但是如果你按下面的写法,是不对的
a = int(input("请输入一个整数:"))
if a != 1:else:print("hello")
三、循环语句
当需要反复执行某段代码时,就需要用到循环语句,Python 主要有while
循环和for
循环两种。
3.1 while 循环
基本语法:只要条件为True
,就反复执行循环体
案例:
1)打印 1-10 的整数:
i = 1
while i <= 10:print(i)i = i +1
2)计算 1-100 的和:
count = 0
num = 1
while num <= 100:count += numnum += 1
print(count)
3)计算5的阶乘 :
fac = 1
result = 1
while fac <= 5:result = result * facfac = fac + 1
print(result)
4)求 1! + 2! + 3! + 4! + 5!
num = 1
sum = 0
while num <= 5 :#先计算出当前num的阶乘是多少,往sum上进行累加factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print(f'sum = {sum}')
3.2 for 循环
基本语法:遍历可迭代对象(内部含多个元素,能逐个取出的变量),执行循环体
这里的for循环就是单纯的去访问一些可迭代对象 !
#打印 1-10
for i in range(1,11):print(i)#打印 2, 4, 6, 8 , 10
for i in range(2 , 12, 2):print(i)#打印 从 10 到 1
num = 10
while num > 0:print(num)num -= 1 for i in range(1,11,-1):print(i)
求1 - 100 的和
#求 1 + 2 + 3 + ... + 100
sum = 0
for i in range(1, 101):sum += i
print(f'sum = {sum}')
Shift + F6
Shift + F6
Shift + F6
Shift + F6
Shift + F6
Shift + F6
有些同学的笔记本电脑,F6比较变扭,就是没法按,按了跳转了其他功能,这个时候需要搭配Fn
3.3 continu 和 break
- continue:结束当前循环,直接进入下一次循环。例如模拟吃包子,吃到第 3 个有虫跳过
#假设我要吃包子
for i in range(1, 6):if i == 3:#发现第三个包子有虫continueprint(f'吃第{i}个包子')
- break:结束整个循环。例如模拟吃包子,吃到第 3 个有虫停止:
#假设我要吃包子
for i in range(1, 6):if i == 3:#发现第三个包子有虫breakprint(f'吃第{i}个包子')
例子:给定若干个数字,求平均值,但是不知道有几个数字
theSum = 0 #表示加和的结果
count = 0 #表示有都少个变量
while True:num = input('请输入一个数字(分号表示输入结束):')if num == ';':# 约定当用户输入 ; 的时候,表示输入结束breaknum = float(num)theSum += numcount += 1print(f"平均值为{theSum/count}")
小总结: