Python基础(第三章—条件控制语句)

在这里插入图片描述
" 人类是易于厌倦的生物、悲伤也好、喜悦也罢、都无法一直持续下去 "


这篇文章将带我们了解到:

  1. 运算符的优先级情况
  2. 条件控制语句

1、运算符的优先级(此处不详细说明)

一、数学里面的加减乘除及括号

  1. 括号优先、乘除其次、加减最后
a = 7 + 3 * 4
print(a)

输出:	19

a = (7 + 3) * 4
print(a)

输出:	40

二、Python里面的 and 和 or

  1. and 的优先级高于 or
a = 0 and 2 or 3
print(a)

输出:3

2、条件控制语句

通常会有某种限制条件、来进行程序的执行

2.1、if 语句

一、执行流程

  1. 先对条件表达式进行求值判断
  2. 如果为True、则执行if后的语句
  3. 如果为False、则不执行

二、语法

  1. if 条件表达式:
  2. 代码块
  3. 代码块中保存着一组代码、同一个代码块中的代码、要么都执行要么都不执行
  4. 代码块以缩进开始、直到代码恢复到之前的缩进级别时结束
  5. 代码块就是一种为代码分组的机制

2.2、input()函数

一、定义:该函数用来获取用户的输入、调用后、程序会立即暂停、等待用户输入、用户输入完成后、回车后程序才会继续往下执行(具有阻塞程序的作用、不输入、程序将永远不会继续往下执行)

二、input()函数及 print()函数

  1. input函数会将输入的数据转换为字符(串)形式
  2. 也就是将 123 转换为 " 123 "
  3. print函数输出时会自动将字符串类型的双引号(单引号)去掉
a = input("请输入数据:")
# 输入123
print(type(a))
print(a)
输出:	
	<class "str">  	
	123

三、eval()函数

  1. 将被input接收的字符(串)类型的引号去掉
  2. 也就是将 " 123 " 转换为 123
a = eval(input("请输入数据:"))
# 输入123
print(type(a))
print(a)
输出:	
	<class "int">  	
	123

四、格式转换

  1. int()将整型的字符串强制转换为int类型本身
  2. 也就是说将 " 1 " 转换为 1
  3. float()将浮点型或整型的字符串强制转换为float类型本身
  4. 也就是说将 " 1 " 转换为 1.0 、 将 " 1.1 " 转换为1.1
a = float(input("请输入数据:"))
# 输入123
# 输入12.2
print(type(a))
print(a)
输出:	
	<class "int">  		
	123
     <class "float">  	
     1.2

2.3、if-else语句

一、语法

  1. if 条件表达式:
  2. 代码块
  3. else:
  4. 代码块

二、执行流程(特点:if 或 else 后的语句必有一个执行)

  1. if - else 语句在执行时、先对 if 后的条件表达式进行求值判断
  2. 如果为True、则执行if后的代码块
  3. 如果为False、则执行else后的代码块

三、举例

  1. a == 1 则执行 print(a) 、否则执行 print(" 123 ")
a = 1
if a == 1:
	print(a)
else:
	print("123")

输出:	1
  1. 下列为二个不完整但独立的 if - else 语句
a = 1
if a == 1:
	print("1")
if a == 1:
	print("2")

输出:	1  
      	2

2.4、if-elif-else语句

一、语法

  1. if 条件表达式:
  2. 代码块
  3. elif 条件表达式:
  4. 代码块
  5. else:
  6. 代码块

二、执行流程

  1. 此语句在执行时、会自上向下依次对条件表达式进行求值判断
  2. 如果表达式的结果为True、则执行当前代码块、然后语句结束
  3. 如果表达式的结果为False、则继续向下判断、直到找到True为止
  4. 如果所有的表达式都是False、则执行else后的代码块

三、举例

  1. 实质上为 if - else 语句的嵌套
value = 30000 
if value >= 30000: 
	print('有钱任性') 
elif value >= 20000: 
    print('有钱真好')
elif value >= 10000:
    print('哥也⽉薪上万了') 
elif value >= 5000: 
    print('⼯资还说的过去') 
elif value >= 2000: 
    print('能养活自己了')

输出:	有钱任性

2.5、while语句

一、定义:循环语句可以使指定的代码块重复指定的次数

二、语法

  1. while 条件表达式 :
  2. 代码块
  3. else:
  4. 代码块

三、举例

  1. 计算 0 到 100 偶数和
a = 0
i = 0
while i <= 100:
    a += i
    i += 2
print(a)

输出:	2550
  1. 输出每行依次递增的星星
i = 1
a = "*"
while i < 5:
    print(a)
    a += "*"
    i += 1

输出:	
	*
	**
	***
	****
	*****
i = 0
while i < 5:
    j = 0
    while j <= 4-i:
        print("*",end= "")
        j += 1
    print()
    i += 1

输出:	
    *****
	****
	***
	**
	*

四、while 语句完整性的结构

i = 0
while i < 5:
	print(i)
else:
	print("while循环正常结束")

2.6、break语句和continue语句

定义:break 可以用来立即退出循环语句和else语句 、continue 用来跳过当次循环

一、continue 语句

  1. 跳过 while 中 continue 后面的语句
  2. 下列即是跳过 print(i)
i = 0
while i < 5:
	i += 1
	if i == 3:
		continue
	print(i)
else:
	print("while循环正常结束")

输出:
	1
	2
	4
	5
	while循环正常结束

二、break 语句

  1. 直接跳过 while 语句及 else 语句结束循环
i = 0
while i < 5:
	i += 1
	if i == 3:
		break
	print(i)
else:
	print("while循环正常结束")

输出:
	1
	2

3、程序举例

一、求1000以内的所有水仙花数

i = 100
while i < 1000:
    a = a // 100 #百位
    b = (i - a * 100) // 10 #十位
    c = a % 10 #个位
    if a ** 3 + b ** 3 + c ** 3 == a:
        print(a)
    i += 1

输出:	
	153
	370
	371
	407

二、获取用户输入的任意数、判断其是否为质数

num = int(input("请输入整数:"))
i = 2
while i < num:
	if num % i == 0
		print("不是质数")
		break
	i += 1
else:
	print("是质数")

三、猜拳游戏

  • 规则
  1. 0 是石头
  2. 1 是剪刀
  3. 2 是布
  • 出拳
  1. 玩家:手动输入
  2. 电脑:随机输入
  • 判断输赢
  1. 玩家获胜
  2. 电脑获胜
  3. 平局
import random
player = int(input("请输入0、1、2三个数中间的一个:"))
computer = random.randint(0,2)
print(computer)
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
    print("玩家获胜")
elif player == computer:
    print("平局、再来")
else:
    print("电脑获胜")

四、打印九九乘法表

i = 0
while i < 9:
    i += 1
    j = 0
    while j < i:
        j += 1
        print(f"{i}*{j}={i*j}",end ="   ")
    print()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是我来晚了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值