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


#三种不同的解法

相关推荐
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书3 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
小二·4 小时前
java基础面试题笔记(基础篇)
java·笔记·python
小喵要摸鱼6 小时前
Python 神经网络项目常用语法
python
一念之坤7 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
wxl7812278 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder8 小时前
Python入门(12)--数据处理
开发语言·python
LKID体8 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
小尤笔记9 小时前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
FreedomLeo19 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas