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")
'''


#三种不同的解法

相关推荐
思则变3 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络3 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find4 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取5 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector7 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习7 小时前
Python入门Day2
开发语言·python
Vertira7 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉7 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗7 小时前
黑马python(二十四)
开发语言·python
晓13138 小时前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr