【Python】Python程序分支结构(if, elif , else ,and , or , not 的使用)

本文详细介绍了Python程序的分支结构,包括单分支的if语句,二分支的if-else语句,以及多分支的if-elif-else结构。同时,讲解了条件判断中的关系操作符,以及条件组合的and、or和not的用法,提供了丰富的代码示例,帮助读者深入理解Python中的逻辑判断和控制流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序的分支结构

1. 单分支结构

1.1语法格式:

if <条件>: 
    <语句块>
  • 语句块是if条件满足后执行的一个或多个语句序列
  •  语句块中语句通过与if所在行形成缩进表达包含关系
  •  if语句首先评估<条件>的结果值,如果结果为True,则执行语句块里的语句序列,然后控制转向程序的下一条语句。如果结果为False,语句块里的语句会被跳过。

1.2 if语句块中语句块执行与否依赖于条件判断,但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句;

if语句的控制流程图:

                                        

 

  • if语句中<条件>部分可以使用任何能够产生True或False的语句
  • 形成判断条件最常见的方式是采用关系操作符数学符号
num = eval(input("请输入数字:"))
if num<20:
	print("这个数比较小!")
if 20<=num<40:
	print("这个数比较大!")
if 40<=num:
	print("这个数很大!")

2. 二分支语句

2.1 python中if-else语句用来形成二分支语句,语法格式如下:

if <条件>;
    <语句块1>
else:
    <语句块2>
  • <语句块1>是在if条件满足后执行的一个或多个语句序列
  • <语句块2>是if条件不满足后执行的语句序列
  • 二分支语句用于区分<条件>的两种可能True或者False,分别形成执行路径
num = eval(input("请输入数字:"))
if num<20:
	print("这个数比较小!")
else:
	print("这个数很大!")

2.2 二分支结构还有一种更简洁的表达方式,适合判断返回特定值,语法格式如下:

<表达式1> if <条件> else <表达式2>

例如:

num = eval(input("请输入数字:"))
print("这个数{}了".format("小" if num<20 else "大"))

这种紧凑形式,适用于简单表达式的二分支语句

3. 多分支结构

3.1 语法格式

if <条件1>:
    <语句块1>
elif <条件2>:
    <语句块2>
...
else:
     <语句块N>

 

                          

  • 多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行径。
  • Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时结束后跳整个if-elif-else结构,执行后面的语句。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的
num = eval(input("请输入数字:"))
if num<20:
	print("这个数比较小!")
elif if 20<=num<40:
	print("这个数比较大!")
else:
	print("这个数很大!")

注意多条件之间的包含关系,注意变量取值范围的覆盖

4.条件判断及组合

4.1  条件判断(关系操作符)

操作符

数学符号

操作符含义

小于

<=

小于等于

>=

大于等于

大于

==

=

等于

!=

 

不等于

(注:在python的if语中可以使用连续的关系符号而不用进行拆分,例如:if 0<=a<30)

4.2 条件组合:用于条件组合的三个保留字(and,or,and)

and的优先级要大于or

 

---and和or用法:

在python中,and、or用法和逻辑与(&)、或(|)用法有一定的区别:

基本格式为:

a & b
a | b
a and b
a or b

如果a,b是数值变量,则&,|表示位运算,and,or则是依据是否非0来决定输出;

  •   & ,|
# 1&2,2在二进制里面是10,1在二进制中是01,那么01与运算10得到是0 


1 & 2         # 输出为 0, 
1 | 2          # 输出为3
  •  and,or
# 判断变量是否为0, 是0则为False,非0判断为True,
 # and中含0,返回0; 均为非0时,返回后一个值, 
2 and 0   # 返回0
2 and 1   # 返回1
1 and 2   # 返回2

# or中, 至少有一个非0时,返回第一个非0,
2 or 0   # 返回2
2 or 1   # 返回2
0 or 1   # 返回1 

代码:

print (1 & 2)
print ("-----------")
print (1 | 2)
print ("-----------")
print (2 and 0)
print (0 and 2)
print (2 and 1)
print (1 and 2)
print ("-----------")
print (2 or 0)
print (0 or 2)
print (2 or 1)
print (1 or 2)
print (0 or 0)

  结果:

            

 

如果a,b是逻辑变量,则两类的用法基本一致

In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False

举例:

guess = eval(input())
if guess >99 or guess <99:
	print("猜错了")
else :
	print("猜对了")

结果为:

                

参考文章:https://blog.csdn.net/weixin_40041218/article/details/80868521

 

--not的用法

not x:条件x的逻辑非

(1)not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句

注意:Python中关键字False和True首字母要大写

a = False
if not a:
	print("执行语句块1")
else :
	print("执行语句块2")

            

 

(2)判断元素是否再列表或者字典中,if a not in b ,a是元素,b是列表或者字典,意思是如果a不在b中,就执行冒号后面的语句

a = 5
b = [1,2,3]
if a not in b:
	print ("hello")
else:
	print("你好")

         

 

not x 意思相当于 if not false, then True, else False

代码中经常会有变量是否为None 的判断,有三种写法:

  • 第一种是 if x is None ;
  • 第二种是 if not x: ;
  • 第三种是 if not x is None (可以理解为:if not (x is None))

建议第三种写法,清晰,不会出现错误;

使用if not x这种写法的前提是:必须清楚x等于None,False,空字符串“”,0,空列表[],空字典{},空元组()时对判断有没有影响。

参考文章:https://www.cnblogs.com/devops-qxw/p/9641316.html

### DeepSeek API 调用方法 对于希望利用大型语言模型构建服务的应用开发者而言,了解并掌握DeepSeek API的调用方法至关重要。进入官网完成账户注册后,通过API开放平台获取专属API Key是第一步[^1]。 #### 获取API Key - 注册账号于官方站点:DeepSeek | 深度求索。 - 导航至API开放平台页面。 - 在左侧菜单选择API Keys选项卡。 - 创建新的API Key用于后续请求认证。 #### Python示例代码 一旦拥有了有效的API Key,就可以借助编程语言如Python发起HTTP POST请求来交互数据: ```python import requests url = "https://api.deepseek.com/v1/chat/completions" headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' } data = { "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Tell me about the weather today"}, {"role": "assistant", "content": ""} ], "stream": False, } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() print(result['choices'][0]['message']['content']) else: print(f"Error {response.status_code}: {response.text}") ``` 此段程序展示了如何发送消息给AI聊天接口,并接收返回的结果。注意替换`YOUR_API_KEY`为实际取得的关键字字符串[^2]。 #### Java环境下的实现方案 除了Python之外,Java也是一种流行的选择。为了简化集成过程,可以考虑采用预编译好的库或工具包,比如Ollama项目提供了便捷的方式来进行安装配置以及与DeepSeek的大规模语言模型互动[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值