python控制语句-1.1

目录

选择结构

条件语句

三元运算

选择结构练习-1


选择结构

条件语句

语法

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

Python 程序语言指定任何非 0 和非空(null)值为 True0 或者 nullFalse

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句......
else:
    执行语句......

其中 '判断条件' 成立时(非零),则执行后面的语句,而执行内容可以有许多行,以缩进来区分不同层级。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

例:
a = False
name = 'abc'
if name == 'python':  # 判断变量是否为 python
    a = True  # 条件成立时设置标志为真
    print('welcome word')  # 并输出欢迎信息
else:
    print(name)  # 条件不成立时输出变量名称'
    
输出:
abc

if 语句的判断条件可以用 >(大于)、< (小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式

if 判断条件1:
    执行语句1......
elif 判断条件2:
    执行语句2......
elif 判断条件3:
    执行语句3......
else:
    执行语句4......

例:
num = 5
if num == 3:            # 判断num的值
    print('hello')
elif num == 2:
    print('user')
elif num == 1:
    print('worker')
elif num < 0:           # 值小于零时输出
    print('error')
else:
    print('happy')     # 条件均不成立时输出

输出:
happy

由于 Python 并不支持 Switch 语句,所以多个条件判断,只能用 elif 来实现。

如果判断需要多个条件需同时判断时,可以使用 or(或),表示两个条件有一个成立时判断条件成功。

使用 and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

num0 = 9
if num0 > 0 and num0 < 10:    # 判断值是否在0~10之间
    print('hello')

num1 = 10
if num1 < 0 or num1 > 10:    # 判断值是否在小于0或大于10
    print('hello')
else:
    print('world')

输出:
hello
world    

if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行。

此外 andor 的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。


简单的语句组

语法

你也可以在同一行的位置上使用 if 条件判断语句

num = 10
if(num == 10):print("nmu的值为",num)
print("hei")

输出:
nmu的值为 10
hei

三元运算

三元运算的语法

我们从一个具体的例子切入本节内容。假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用 if ... else ... 语句

if a > b:
    max = a
else:
    max = b

但是 Python 提供了一种更加简洁的写法

max = a if a > b else b

这是一种类似于其它编程语言中三目运算符 ? : 的写法。

Python 是一种极简主义的编程语言,它没有引入 ? : 这个新的运算符,而是使用已有的 if ... else ... 关键字来实现相同的功能。

使用 if ... else ... 实现三目运算符(条件运算符)的格式

语法:
exp1 if contion else exp2

condition 是判断条件,exp1exp2 是两个表达式:

1.如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;

2.如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

前面的语句 max = a if a > b else b 的含义是:

1.如果 a > b 成立,就把 a 作为整个表达式的值,并赋给变量 max

2.如果 a > b 不成立,就把 b 作为整个表达式的值,并赋给变量 max


三元运算的嵌套

Python 三元运算支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意 ifelse 的配对,例如:

a if a > b else c if c > d else d

可以理解为:
a if a > b else (c if c > d else d)

例如:

使用 Python 三元运算判断两个数字的关系:

a = int(input())
b = int(input())
print('a的值大于b的值') if a > b else (
    print('a的值小于b的值') if a < b else print('a的值等于b的值')
)

这个程序是一个嵌套的三元运算。程序先对 a>b 求值,如果该表达式为 True,程序就返回执行第一个表达式 print('a的值大于b的值'),否则将继续执行 else 后面的内容,也就是:

(print('a的值小于b的值') if a < b else print('a的值等于b的值'))

进入该表达式后,先判断 a < b 是否成立,如果 a < b 的结果为 True,将执行 print('a的值小于b的值'),否则执行 print('a的值等于b的值')


选择结构练习-1
判断三角形

描述
请从标准输入流(控制台)中获取 a、b、c,它们分别代表三角形的三条边长,判断这三条边是否能组成一个三角形,当判断为是时,你应该使用 print 语句输出 Is a triangle,
当判断为否时,则使用 print 语句输出 Not a triangle。

a = int(input())
b = int(input())
c = int(input())

'''1、
print("Is a triangle") if a+b>c and a+c>b and b+c>a else(
    print("Not a triangle")
)
'''

'''2、
lis = [a, b, c]
if 2 * max(lis) < sum(lis) :
    print("Is a triangle")
else:
    print("Not a triangle")
'''

'''3、
num_list = [int(a),int(b),int(c)]
num_list.sort()
if (num_list[0] + num_list[1] > num_list[2]) and (num_list[2]-num_list[0] < num_list[1]):
    print("Is a triangle")
else:
    print("Not a triangle")
'''


#三种不同的解法

相关推荐
Envyᥫᩣ7 分钟前
Python中的自然语言处理:从基础到高级
python·自然语言处理·easyui
哪 吒8 分钟前
华为OD机试 - 几何平均值最大子数(Python/JS/C/C++ 2024 E卷 200分)
javascript·python·华为od
我是陈泽11 分钟前
一行 Python 代码能实现什么丧心病狂的功能?圣诞树源代码
开发语言·python·程序员·编程·python教程·python学习·python教学
hakesashou11 分钟前
python全栈开发是什么?
python
创作小达人30 分钟前
家政服务|基于springBoot的家政服务平台设计与实现(附项目源码+论文+数据库)
开发语言·python
ZPC821040 分钟前
Python使用matplotlib绘制图形大全(曲线图、条形图、饼图等)
开发语言·python·matplotlib
镜花照无眠42 分钟前
Python爬虫使用实例-mdrama
开发语言·爬虫·python
aaasssdddd961 小时前
python和c
c语言·开发语言·python
爱写代码的小朋友1 小时前
Python的几个高级特性
python
Eric.Lee20211 小时前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测