python基础知识三(运算符、while循环、for循环)

目录

运算符:

算术运算符:

比较运算符:

赋值运算符:

逻辑运算符:

位运算符:

成员运算符:

while循环:

1. while循环的语法:

2. while循环的执行过程:

3. while循环的特点:

4. 循环变量

5. 死循环

 6.  练习打印直角三角形

 6.1 直角三角形

6.2 倒直角三角形

7. 九九乘法表

7.1 正序九九乘法表

 7.2 倒叙九九乘法表

for循环:

 1. for循环基本语法:

2. for循环的 in 和 not in

3. range函数

4. break 和 continue

5. 循环嵌套

6. 循环结合else

7. 循环的else和break

8. 小案例: 密码合法判断


运算符:

算术运算符:

在Python中,算数运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。这些运算符在编程中非常常见,用于处理数字和其他可以进行数学运算的数据类型。

运算符描述
+加法运算符,用于将两个数相加。
-减法运算符,用于从一个数中减去另一个数。
*乘法运算符,用于将两个数相乘。
/除法运算符,用于将一个数除以另一个数。
//整数除法运算符,返回商的整数部分。
%取模运算符,返回两数相除的余数。
**幂运算符,用于计算一个数的幂。

代码示例: 

# 1. 算术运算符
num_1 = 10
num_2 = 20
print("加法运算符:", num_1 + num_2)  # + 加法运算符
print("减法运算符:", num_2 - num_1)  # - 减法运算符
print("乘法运算符:", num_1 * num_2)  # * 乘法运算符
print("除法运算符:", num_2 / num_1)  # / 除法运算符  结果为浮点数
print("整除运算符:", num_2 // num_1)  # // 整除运算符 结果为整数
print("取余运算符:", num_2 % num_1)  # % 取余运算符
print("幂运算符:", num_2 ** num_1)  # ** 幂运算符

运行结果:

比较运算符:

在Python中,比较运算符用于比较两个值,并返回一个布尔值(True或False)来表示这两个值之间的关系。这些运算符在条件判断、循环控制以及数据筛选等场景中非常有用。

运算符

描述

==

等于运算符,用于判断两个值是否相等。

!=

不等于运算符,用于判断两个值是否不相等。

>

大于运算符,用于判断第一个值是否大于第二个值。

<

小于运算符,用于判断第一个值是否小于第二个值。

>=

大于等于运算符,用于判断第一个值是否大于或等于第二个值。

<=

小于等于运算符,用于判断第一个值是否小于或等于第二个值。

示例代码:

# 2. 比较运算符
print("等于:", num_2 == num_1)  # == 等于
print("不等于:", num_2 != num_1)  # != 不等于
print("大于等于:", num_2 >= num_1)  # >= 大于等于
print("小于等于:", num_2 <= num_1)  # <= 小于等于
print("大于:", num_2 > num_1)  # > 大于
print("小于:", num_2 < num_1)  # < 小于

 运行结果:

赋值运算符:

在Python中,赋值运算符用于将右侧的值或表达式的结果赋给左侧的变量。基本的赋值运算符是=,它将右侧的值存储到左侧的变量中。除了基本的赋值运算符外,Python还提供了一些复合赋值运算符,这些运算符结合了赋值和算数或位运算。

运算符

描述

=

基本的赋值运算符,用于将右侧的值赋给左侧的变量。

+=

加法赋值运算符,将右侧的值加到左侧的变量上,并将结果存回左侧的变量。

-=

减法赋值运算符,从左侧的变量中减去右侧的值,并将结果存回左侧的变量。

*=

乘法赋值运算符,将左侧的变量乘以右侧的值,并将结果存回左侧的变量。

/=

除法赋值运算符,将左侧的变量除以右侧的值,并将结果(可能是一个浮点数)存回左侧的变量。

//=

整数除法赋值运算符,将左侧的变量进行整数除法运算(只保留商的整数部分),并将结果存回左侧的变量。

%=

取模赋值运算符,将左侧的变量对右侧的值取模,并将结果存回左侧的变量。

**=

幂赋值运算符,将左侧的变量提升为右侧值的幂,并将结果存回左侧的变量。

示例代码:

# 3. 赋值运算符
num_1 = 30  # = 赋值运算符
print("赋值运算符:", num_1)
num_1 += 1  # += 加法赋值运算符  num_1 = num_1 + 1
print("加法赋值运算符:", num_1)  # 31
num_1 -= 1  # -= 减法赋值运算符  num_1 = num_1 - 1
print("减法赋值运算符:", num_1)  # 30
num_1 *= 1  # *= 乘法赋值运算符  num_1 = num_1 * 1
print("乘法赋值运算符:", num_1)  # 30
num_1 /= 1  # /= 除法赋值运算符  num_1 = num_1 / 1
print("除法赋值运算符:", num_1)  # 30.0
num_1 %= 1  # %= 取余赋值运算符  num_1 = num_1 % 1
print("取余赋值运算符:", num_1)  # 0
num_1 **= 1  # **= 幂赋值运算符  num_1 = num_1 **
print("幂赋值运算符:", num_1)  # 30
num_1 //= 1  # //= 整除赋值运算符  num_1 = num_1 // 1
print("整除赋值运算符:", num_1)  # 30

运行结果:

逻辑运算符:

在Python中,逻辑运算符主要用于比较两个或多个条件,并根据这些条件的结果返回一个布尔值(True或False)。逻辑运算符在控制语句(如if语句和while循环)中经常被使用,用于控制程序的流程,进行条件判断和逻辑运算。

运算符

描述

and

逻辑与运算符。它用于检查所有操作数是否都为True。只有当所有操作数都为True时,and运算符才返回True,否则返回False。

or

逻辑或运算符。它用于检查所有操作数中是否至少有一个为True。只要有一个操作数为True,or运算符就返回True,否则返回False。

not

逻辑非运算符。它用于对单个操作数进行取反。如果操作数为True,not运算符返回False;如果操作数为False,not运算符返回True。

示例代码:

# 4. 逻辑运算符
print("and 逻辑运算符:", True and False)  # and 逻辑运算符
print("or 逻辑运算符:", True or False)  # or 逻辑运算符
print("not 逻辑运算符:", not True)  # not 逻辑运算符

运行结果:

位运算符:

在Python中,位运算符直接对整数类型的数据的二进制位进行操作。这些运算符允许你执行诸如设置、清除或切换特定位等操作,这在低级编程、性能优化或硬件交互等场景中可能非常有用

运算符

描述

$

按位与运算符,对两个操作数的每个位执行逻辑与操作,只有当两个操作数的对应位都为1时,结果的对应位才为1。

|

按位或运算符,对两个操作数的每个位执行逻辑或操作,只要两个操作数的对应位中有一个为1,结果的对应位就为1。

^

按位异或运算符,对两个操作数的每个位执行逻辑异或操作,当两个操作数的对应位不同时,结果的对应位为1,否则为0。

~按位取反运算符,对操作数的每个位执行逻辑取反操作,即0变为1,1变为0。
<<左移运算符,将一个整数的二进制表示向左移动指定的位数。
>>右移运算符,将一个整数的二进制表示向右移动指定的位数。

 示例代码:

# 5. 位运算符
print("& 位与运算符:", 1 & 1)  # & 位与运算符
print("| 位或运算符:", 1 | 1)  # | 位或运算符
print("^ 位异或运算符:", 1 ^ 1)  # ^ 位异或运算符
print("~ 位取反运算符:", ~1)  # ~ 位取反运算符
print("<< 左移运算符:", 1 << 1)  # << 左移运算符
print(">> 右移运算符:", 1 >> 1)  # >> 右移运算符

运行结果:

成员运算符:

在Python中,成员运算符主要用来检查一个元素是否是另一个容器(如列表、元组、字典、集合或字符串)的成员。这通过innot in两个运算符实现。

运算符

描述

in

判断元素是否存在于容器中,如果指定的元素在容器中,返回True,否则返回False

not in

判断元素是否不存在于容器中,如果指定的元素不在容器中,返回True,否则返回False

示例代码:

# 6. 成员运算符
print("in 成员运算符:", 1 in [1, 2, 3])  # in 成员运算符
print("not in 成员运算符:", 1 not in [1, 2, 3])  # not in 成员运算符

运行结果:

while循环:

1. while循环的语法:

        while 循环条件:

                 循环体

2. while循环的执行过程:

1) 首先判断循环条件是否为真,如果为真,则执行循环体
2) 执行完循环体后,再次判断循环条件是否为真,如果为真,则继续执行循环体
3) 如果循环条件为假,则退出循环

3. while循环的特点:

1) 循环条件可以是任意的表达式
2) 循环体可以是一个语句,也可以是多条语句
3) 循环体可以包含break语句和continue语句
4) 循环体可以嵌套其他循环

4. 循环变量

循环变量是用来记录循环次数的变量 i 就是循环变量 作用:用来控制程序什么时候停下来
i = 0
while i <= 10:print(i)i += 1

5. 死循环

 死循环指的是程序持续执行,无法终止。原因通常是忘记在循环内部修改循环变量的值
while True:print("Hello World!")

 6.  练习打印直角三角形

 6.1 直角三角形

*
* *
* * *
* * * *
* * * * *思路:  1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i和j都从0开始,每次循环都加14) 循环条件是 i <= 5 和 j <= i5) 循环体是 print("*", end=" ")6) 循环体执行完后,打印一个换行符

代码实现:

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

 运行结果:

6.2 倒直角三角形

* * * * *
* * * *
* * *
* *
*思路:  1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i从5开始,每次循环都减1,j从0开始,每次循环都加14) 循环条件是 i >= 0 和 j <= i5) 循环体是 print("*", end=" ")6) 循环体执行完后,打印一个换行符

代码实现:

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

 运行结果:

7. 九九乘法表

7.1 正序九九乘法表

1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
.....思路:  1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i和j都从1开始,每次循环都加14) 循环条件是 i <= 9 和 j <= i5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")6) 循环体执行完后,打印一个换行符

代码实现:

i = 1
while i <= 9:j = 1while j <= i:print(f'{i} * {j} = {i * j}', end="\t")j += 1print()i += 1

运行结果:

 7.2 倒叙九九乘法表

......
6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6
5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5
4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4
3 * 3 = 9 3 * 2 = 6 3 * 1 = 3
2 * 2 = 4 2 * 1 = 2
1 * 1 = 1思路:  1) 循环变量i控制行数2) 循环变量控制列数3) 循环变量i从9开始,每次循环都减1,j从1开始,每次循环都加14) 循环条件是 i >= 0 和 j <= i5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")6) 循环体执行完后,打印一个换行符

代码实现:

i = 9
while i >= 0:j = 1while j <= i:print(f'{i} * {j} = {i * j}', end="\t")j += 1print()i -= 1

 运行结果:

for循环:

 1. for循环基本语法:

for 变量 in 序列:
循环体
# 1. for循环的基本语法
arr = [1, 2, 3, 4, 5]
for i in arr:print(i)

2. for循环的 in 和 not in

- in  操作符用于判断元素是否存在于容器中,如果在容器中,返回 True,否则返回 False
- not in 操作符用于判断元素是否不存在于容器中,如果不在容器中,返回 True,否则返回 False
# 判断元素是否存在于容器中 in
print(1 in arr)
print(6 in arr)# 判断元素是否不存在于容器中 not in
print(1 not in arr)
print(6 not in arr)

3. range函数

作用: range() 可创建一个整数列表。range()相当于数学中的左闭右开区间(包含左,不包含右)
- range(start, stop, step)
参数说明:start: 起始值stop: 结束值step: 步长
for i in range(1, 10):  # 1,2,3,4,5,6,7,8,9print(i)for i in range(1, 10, 2):  # 步长为2 1,3,5,7,9print(i)for i in range(10, 1, -1):  # 步长为-1 10,9,8,7,6,5,4,3,2,1 倒序print(i)for i in range(10, 1, -2):  # 步长为-2 10,8,6,4,2 倒序print(i)

4. break 和 continue

- 在循环体中,使用break语句,可以跳出循环
- 在循环体中,使用continue语句,可以跳过循环体中剩余的语句,继续下一轮循环
for i in range(1, 10):if i == 5:break  # i为 5 时,跳出循环 不再执行循环体中的语句print(i)for i in range(1, 10):if i == 5:continue  # i为 5 时,跳过循环体中剩余的语句,继续下一轮循环print(i)

5. 循环嵌套

- 在循环体中,可以嵌套其他循环
for i in range(1, 10):for j in range(1, 10):print(i, j)

6. 循环结合else

- 循环结合else,当循环正常结束时,执行else语句
- 循环结合else,当循环提前结束时,不执行else语句
for i in range(1, 10):if i == 5:print(i)
else:print('循环正常结束')

7. 循环的else和break

- 循环体中,使用break语句,可以跳出循环,但是不会执行else语句
for i in range(1, 10):if i == 5:# 循环体中,使用break语句,可以跳出循环,但是不会执行else语句breakprint(i)
else:print('循环正常结束')

8. 小案例: 密码合法判断

需求
判断登录密码2569#@!23是否合法。
1. 密码必须是数字、字母(大小写都可以)、和下划线,否则不合法
2. 如果密码合法,就输出"密码合法

代码实现:


# 1.定义密码
password = '2569#@!23'
# password = '2569'# 2.定义容器:保存所有的数字 字母 _
container = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'
# 3. 遍历密码
for i in password:if i not in container:print(f"密码不合法, 不允许包含{i}")break
else:print("密码合法")

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980181.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Docker搭建Maven仓库Nexus

文章目录 一、简介二、Docker部署三、仓库配置四、用户使用Maven五、管理Docker镜像 一、简介 Nexus Repository Manager&#xff08;简称Nexus&#xff09;是一个强大的仓库管理器。 Nexus3支持maven、docker、npm、yum、apt等多种仓库的管理。 建立了 Maven 私服后&#xf…

新技术前沿-2024-国内主流AI大模型架构及应用场景深度分析

参考国内主流AI 大模型架构及应用场景深度分析 2024 1 厂商总览 1.1 国外 (1)Open AI:GPT-4【美国旧金山的人工智能研究公司】 GPT-4于2023年3月14日发布,是千亿级参数的多模态预训练模型,能够支持图像和文本的输入。 (2)Anthropic(人类的):Claude【美国人工智能初创公司…

【前端技术】HTML基础入门篇

1.1 HTML简介 ​ HTML&#xff08;HyperText Markup Language&#xff1a;超文本标记语言&#xff09;是一种标识性的语言。它包括一系列标签&#xff0e;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组…

【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇

前言&#xff1a;本篇主要讲解搭建所需环境&#xff0c;以及基于pytorch框架在stm32cubeide上部署神经网络&#xff0c;部署神经网络到STM32单片机&#xff0c;本篇实现初步部署模型&#xff0c;没有加入训练集与验证集&#xff0c;将在第二篇加入。篇二详细讲解STM32CubeIDE上…

NestJS必备:TypeORM对DB的操作

文章概叙 本文大概1300字&#xff0c;讲的是一些关于TypeORM的基础知识以及在NestJS中使用TypeORM操作DB的例子。 关于TypeORM TypeORM 是一个ORM框架&#xff0c;它可以运行在 NodeJS、Browser、Cordova、PhoneGap、Ionic、React Native、Expo 和 Electron 平台上&#xff0…

Kubectl常见排查pod问题命令

一.查看命名空间pod及其日志 #查看命名空间pod kubectl get pods -n <命名空间名称> #该命令不加-n命名空间名称&#xff0c;默认是查看default命名空间的pod#查看对应pod的日志kubectl logs -f <pod-name> -n <namespace>#同样的如果查看的是default命名空…

jasypt组件死锁bug案例分享

事故描述 1、上午9.55发布了一个Apollo动态配置参数&#xff1b; 2、片刻后&#xff0c;服务器接口开始出现大量的超时告警&#xff0c;似乎是某资源被耗尽不足分配&#xff1b; 3、正值业务请求高峰的上午十点&#xff08;平台上午10点会有一些活动会拉一波用户流量&#x…

使用eNSP进行路由策略与引入实验

一、实验拓扑 二、实验要求 1、按照图示配置 IP 地址&#xff0c;R1&#xff0c;R3&#xff0c;R4 上使用 oopback 口模拟业务网段&#xff0c; 2、R2&#xff0c;R3 和 R4 运行 OSPF&#xff0c;各自协议内部互通2R1和R2运丁RIPv2 3、在 RIP 和 OSPF 间配黑双向路由引入&#…

按照以下步骤使用Transformer模型

“Transformer”是一种深度学习模型架构&#xff0c;用于处理序列数据&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;领域中表现出色。它由Google Brain团队于2017年提出&#xff0c;并在机器翻译任务中取得了突破性的成果。Transformer的核心思想是完全基于自注…

捕捉信号的处理

文章目录 信号捕捉 信号捕捉 信号捕捉是进程从内核态返回用户态时会对信号进行检测处理。 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下: 用户程序注册了SIGQUIT信号的处…

退役军人档案管理系统|DW-S403是一套成熟系统

退役军人档案管理系统是一种专门用于管理退役军人档案的信息系统&#xff0c;旨在提高退役军人档案的管理效率和利用价值。该系统采用先进的信息技术手段&#xff0c;对退役军人的档案进行全面、精准、高效的管理&#xff0c;为退役军人的就业、社保、优抚安置等提供有力支持。…

机器学习(XgBoost)预测顶和底

之前的文章中&#xff0c;我们对中证1000指数进行了顶和底的标注。这一篇我们将利用这份标注数据&#xff0c;实现机器学习预测顶和底&#xff0c;并探讨一些机器学习的原理。 我们选取的特征非常简单–上影线和WR&#xff08;William’s R&#xff09;的一个变种。选取这两个…

【python】python新闻文本数据统计和聚类 (源码+文本)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Appium一本通

Appium介绍 概念&#xff1a;Appium是一个移动App(手机应用)自动化工具。 用途&#xff1a;重复性任务、爬虫、自动化测试。 特点&#xff1a;开源免费、多平台支持(ios\android)、多类型支持(native\webview)、类selenium支持多语言(java\python\js\ruby) Appium原理 三个主…

如何使用trackerjacker映射和跟踪分析WiFi网络设备

关于trackerjacker trackerjacker是一款针对WiFi无线网络的强大安全工具&#xff0c;该工具功能类似于Nmap&#xff0c;可以帮助广大研究人员映射未连接的WiFi网络&#xff0c;并进行设备跟踪。 该工具基于IEEE 802.11实现其功能&#xff0c;支持通过原始802.11实现网络映射和…

Prometheus blackbox_exporter 黑盒监控

概述 在监控体系里面&#xff0c;通常我们认为监控分为&#xff1a;白盒监控、黑盒监控。 黑盒监控&#xff1a;主要关注的现象&#xff0c;一般都是正在发生的东西&#xff0c;例如出现一个告警&#xff0c;业务接口不正常&#xff0c;那么这种监控就是站在用户的角度能看到的…

[vite] ts写配置根目录别名

参考:配置 Vite | Vite 写对象的形式吧 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path// https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],resolve: {alias: {"": path.resolve(__dirname…

Datawhale ChatGPT基础科普

根据课程GitHub - datawhalechina/hugging-llm: HuggingLLM, Hugging Future. 摘写自己不懂得一些地方&#xff0c;具体可以再到以上项目地址 LM&#xff1a;这是ChatGPT的基石的基石。 Transformer&#xff1a;这是ChatGPT的基石&#xff0c;准确来说它的一部分是基石。 G…

2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验

简介&#xff1a; 2024新算法角蜥优化算法&#xff08;HLOA&#xff09;和经典灰狼优化器&#xff08;GWO&#xff09;进行无人机三维路径规划设计实验。 无人机三维路径规划的重要意义在于确保飞行安全、优化飞行路线以节省时间和能源消耗&#xff0c;并使无人机能够适应复杂…

数据持久化第四课-EF的基本使用

数据持久化第四课-EF的基本使用 一.预习笔记 1.数据实体模型概述 ORM全称是“对象-关系映射”&#xff08;Object-Relation Mapping&#xff09; ORM是将关系数据库中的数据用对象的形式表现出来&#xff0c;并通过面向对象的方式将这些对象组织起来&#xff0c;实现系统业务…