第四章 Python语句结构

一、顺序结构

顺序结构:从上到下,从左到右,遇到有缩进的方法或类方法直接跳过。

二、分支结构(选择结构)

1、if语句基本结构

if 判断条件:
书写条件成立(真),执行的代码

# 1. 使用 input 获取用户的年龄, 类型是 str
age = input('请输入你的年龄:')
# 2. 判断年龄是否满足 18 岁
if int(age) >= 18:  # 字符串和 int 类型不能比大小, 先类型转换,再比大小
    # 3. 如果年龄大于等于(满足)18 岁, 输出 '满 18 岁了,可以进入网吧为所欲为了'
    print('满 18 岁了,可以进入网吧为所欲为了')
print('我和 if 判断没有关系,不管怎样,都会执行')

顶格书写,没有缩进的代码,和 if无关, 不管条件是否成立,都会执行。
注意:
(1)if 是一个关键字, 和后续的判断条件之间需要一个空格。
(2)判断条件后边需要一个冒号,不要少了。
(3)冒号之后,回车,代码需要缩进, 在 pycharm 中会自动进行缩进, 一般是 4 个空格 或者 一个 tab 键.
(4) 所有在 if 代码下方的缩进中书写的代码,属于 if 语句的代码块, 判断条件为 True 的时候会执行。
(5)if 代码块中的代码,要么都执行,要么都不执行。
(6)if 代码块结束之后, 代码要顶格书写(不再有缩进), 表示是和 if 无关的代码

2、if……else语句

a = True
if 条件语句:
    条件为True时执行语句
else:
    条件False时执行语句

注意:
(1) if与else互斥,每次运行代码只可能执行其中的一个子句 分支结构至少得有一个if语句,不能只有else语句。
(2)else 是关键字, 后边需要冒号。
(3)冒号之后回车,同样需要缩进。
(4)处于 else 代码下方缩进中的内容,属于 else 的代码块。
(5)if 和 else 的代码块, 只会执行其中的一个。
(6) else 需要结合 if 使用。
(7)if else 之间不能有其他顶格书写的内容

3、if……elif……else……语句

if 条件语句1:
    条件为True时执行语句
elif 条件语句2:#前置条件为False时
    条件为True时执行语句
else:
    条件为False时执行语句

注意:
(1) elif 也是关键字,后边和判断条件之间需要一个空格,判断条件之后需要冒号。
(2) 冒号之后回车需要缩进, 处在这个缩进中的的代码表示是 elif 的代码块。
(3)在一个 if判断中,可以有很多个 elif 。
(4) 只有 if 的条件不成立,才会去判断 elif 的条件。
(5) 在一个if 中, 如果有多个 elif , 只要有一个条件成立,后续的所有都不再判断。
(6) if elif else 结构, 和 if 的缩进相同的只能是 elif 和 else,如果是其他的,就表示 这个判断结构结束了。

4、if 语句嵌套

if 判断条件1:
    判断条件1成立,执行的代码
    if 判断条件2:
        判断条件2成立,执行的代码
    else:
        判断条件2不成立,执行的代码
else:
    判断条件1不成立,执行的代码
  • 例题:判断输入的数字能否被2和3整数?
number = int(input("请输入一个数:"))
if number % 2 == 0:
    if number % 3 == 0:
        print("能被2整除,也能被3整除!")
    else:
        print("能被2整除,不能被3整除!")
else:
    if number % 3 == 0:
        print("不能被2整除,能被3整除!")
    else:
        print("不能被2和3整除!")

5、案例—猜拳游戏

剪刀 石头 布
剪刀 赢 布
石头 赢 剪刀
布 赢 石头

  • 案例的步骤:

自己出拳(石头(1)/剪刀(2)/布(3)) input (player)
电脑随机出拳 (使用随机数模块(工具)完成) (computer)

  • 判断输赢

3.1 玩家胜利

玩家(player)电脑(computer )输赢情况
12玩家赢
23玩家赢
31玩家赢
11平局
22平局
33平局
21电脑赢
32电脑赢
13电脑赢

随机出拳
案例中需要电脑随机出拳,即随机出 1 2 3
在 Python 中想要随机获得整数数字可以使用如下方法

  1. 导入随机数工具包
import random
  1. 使用工具包中的工具产生指定范围内的数字
random.randint(a, b)  # 产生[a, b] 之间的随机整数,包含 a b 的
import random  # 这行代码习惯性的放在第一行
num = random.randint(1, 3)
print(num)
  • 具体代码:
import random
​
# 1. 自己出拳(石头(1)/剪刀(2)/布(3)) input  (player)
player = int(input('请出拳石头(1)/剪刀(2)/布(3):'))   # 不要忘了类型转换
# 2. 电脑随机出拳 (使用随机数模块(工具)完成)  (computer)
computer = random.randint(1, 3)
# 3. 判断输赢
# 3.1 玩家胜利
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print('恭喜你获得胜利')
# 3.2 平局  player == computer
elif player == computer:
    print('平局')
# 3.3 玩家输了 else
else:
    print('输了, 不要放弃, 再来一局')

三、循环结构

循环结构:for,while

1、for循环

如果想要遍历一个范围区间的的元素,可使用for循环来进行遍历。
遍历的定义:访问一个范围区间的每一个元素,按照顺序进行访问。

for 判断条件:
	执行语句
  • 1到100所有的整数和
tota1 = 0#用来存储运算结构
for i in range(1,101):#左闭右开取值范围
    tota1 +=i
print("1到100的和= %d" % tota1)

2、while循环

while循环是没有do……while这种语法。

while 判断条件:
	执行语句
  • 例题:求1到10所有的整数和
i = 1
tota1 = 0
while i<=10:
    tota1 += i
    print(i)
    i += 1
print("1到10所有的整数和= %d" % tota1)

总结:知道循环次数建议使用for,不知道循环次数建议使用while

四、其他

1、pass语句

pass语句:空语句,又叫占位语句,作用是啥都不干,保持程序结构的完整性。

2、break和continue

continue:结束本轮循环,继续后面的循环

  • 例题: 如果i等于5不打印,继续打印后面数值

for i in range(1,11):
    if i == 5:
        continue
    else:
        print(i)

break:结束整个循环体

  • 例题:如果i等于5,则停止打印后面数值
for i in range(1,11):
    if i == 5:
        break
    else:
        print(i)

注意:break和continue的作用在for循环和while循环中作用一样

3、range()函数

range函数是Python中的内置函数,用于生成一系列连续的整数,一般用于for循环体中。

  • range()内一个参数
for i in range(11):#起始位从0开始,终止位11结束
	print(i)
#输出0 1 2 3 4 5 6 7 8 9 10
  • range()内两个参数
for i in range(1,11):#起始位从1开始,终止位11结束
	print(i)
#输出1 2 3 4 5 6 7 8 9 10
  • range()内三个参数
for i in range(1,11,2):#起始位从1开始,终止位11结束,步长为2
	print(i)
#输出1	3	5	7	9

range()函数的优点:
不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值