三.python入门语法1

news/2024/9/27 23:28:27 标签: 数据库, 服务器, c#

目录

1. 算数运算和关系运算

1.1. 算术运算符

1.2. 关系运算符

习题

2.赋值运算和逻辑运算

2.1. 赋值运算符

2.2. 逻辑运算符

3.位运算符

       1)位与运算(A&B)

       2)位或运算(A|B)

       3)异或位运算(A^B)

       4)按位取反运算(~A)

       5)左右位移


1. 算数运算和关系运算

上一节我们学习了Python的输入输出,目前我们已经了解了Python的基础规范,接下来我们要讲一下Python的运算符,运算符是一些特殊的符号,通过运算符将不同的数据连接构成表达式。先通过一张图来看一下常用操作符

运算符1

我们先从算术运算符来介绍。

1.1. 算术运算符

运算符功能输入输出
+66+2288
-66-2244
*11*666
/60/106
%取余10%91
//整除20//92
**3**327,即三的三次方

这里的 ‘/’ 和c语言的区别,一定要注意区分。

下面我们来看一个实例:

 print("+号的功能是:66+22=",66+22)

 print("-号的功能是:66-22=",66-22)

 print('*号的功能是:11*66=',11*66)

 print("/号的功能是:60/10=",60/10)

 print('%号的功能是:30%9=',30%9)

 print('//号的功能:30//9=',30//9)

 print('**号的功能:2**3=',2**3)

输出结果为:

1

2

3

4

5

6

7

 +号的功能是:66+22= 88

 -号的功能是:66-22= 44

 *号的功能是:11*66= 726

 /号的功能是:60/10= 6.0

 %号的功能是:30%9= 3

 //号的功能:30//9= 3

 **号的功能:2**3= 8

下面给大家讲一下算术运算符的扩展功能及注意事项:

1) 加法运算符‘+’不仅提供加运算,还支持连接字符串的功能。

2) 减法运算符‘-’ 不仅提供减运算,还支持取负操作。

3) 乘法运算符‘*’不仅提供乘运算,还支持列表的倍数添入以及字符串N个的连接

4) 除法运算符‘/’在使用的过程中,必须要注意分母不能为‘0’,否则会出现语法错误。

这里也可以体现python语言的简便性,更加的人性化,比较亲和随意。

看下面一个例子:

 test = 'dotcpp'

 tests = '我是dotcpp'

 final = test + tests#这里‘+’连接了test和tests两个字符串

 number = 1000

 newnumber = -number#这里‘-’将number取负

 index = [1,2,3,4]

 index = index*3

 print(final)#‘+’连接后的test+tests

 print(newnumber)#‘-’取负后的number

 print(index)#‘*’倍数添入后的index

输出结果:

1

2

3

 dotcpp我是dotcpp

 -1000

 [123412341234]

1.2. 关系运算符

定义:a=1,b=2

运算符功能输入输出
>大于a>bFalse
<小于a<bFalse
!=不等于a!=bTrue
==判段是否相等a==bFalse
>=大于等于a>=bFalse
<=小于等于a<=bTrue

True代表可执行接下操作,False则不可以。

简单看一下下面测试代码:

 a = 1

 b = 2

 if a < b:
     print('a小于b')

 if a != b:
     print('a不相等b')

输出结果:

1

2

 a小于b

 a不相等b

习题

1.题目 1000: [竞赛入门]简单的a+b

while True:
	try:
		a,b=map(int,input().strip().split())
		print(a+b)
	except:
		break

"""
#input():获取用户输入的一行文本。
.strip():去除输入文本首尾的空白字符(包括空格、换行符等)。
.split():将处理过的字符串以空格为分隔符进行分割,返回一个字符串列表。
map(int, ...):将上一步得到的字符串列表中的每个元素映射为整数。

"""

 2.题目 1037: [编程入门]宏定义的练习

a, b = map(int, input().split())
print(a % b)

3.三角形面积

a,b,c=map(int,input().split())
S=(a+b+c)/2
area=pow(S*(S-a)*(S-b)*(S-c),0.5)
print("%.3f"%area)

2.赋值运算和逻辑运算

2.1. 赋值运算符

赋值运算符从字面上可以理解为赋给变量一个值,通常我们用‘=’将右边的指赋给左边。

结构为:

变量 = 值

A = 123

下面来通过下表来看一下常用的赋值运算符

运算符功能输入
=赋值a=2
-=减赋值a-=2(a=a-2)
+=加赋值a+=2(a=a+2)
*=乘赋值a*=2(a=a*2)
/=除赋值a/=2(a=a/2)
%=取余赋值a%=2(a=a%2)
**=幂赋值a**=2(a=a**2)
//=整除赋值a//=2(a=a//2)

我们通过一个实例来了解一下赋值运算符:

 test = 66

 print('将test加上88')

 test += 88

 print(test)

 print('将结果翻10倍')

 test *= 10

 print(test)

 print('将结果除以50')

 test /= 50

 print(test)

 print('将结果取余5')

 test %= 5

 print(test)

 输出结果:

1

2

3

4

5

6

7

8

 将test加上88

 154 

 将结果翻10

 1540

 将结果除以50

 30.8

 将结果取余5

 0.8000000000000007

2.2. 逻辑运算符

a=5,b=1

运算符功能输入输出
anda>0 and a>b True
ora>100 or a>bTrue
notnot(a>b and a>0)False

同之前的例子一样,True可进入后续语句,而False不可以。

下面我们来看一段实例:

 a=66

 b=77

 c=88

 if c > b and c > a:#此语句意 如果c大于b 并且c大于a

     print('c是最大的')

 if b > a or b > c:#如果b大于a 或者 b大于c

     print('b不是最小的')

 if not(a > b or a > c):#如果不满足a>b或者 a<c

     print('a是最小的')

输出结果为:

1

2

3

 c是最大的

 b不是最小的

 a是最小的

在做算法题的时候,逻辑运算符的使用往往决定了我们做的题是否正确。

拿下面一个例子来说:

小明的爸妈对小明的零花钱管的很严,小明的学科有y和s,当小明的考试成绩两门同时取得1(分为:1,2,3三个等级,规定级别1级>2级>3级)时会获得10元零花钱,两门同时达到2级未达1时会有5元零花钱,如果有一门为1时则获得3元零花钱,如果有一门在2以下就没有零花钱可得,那么当小明y和s的成绩分别为1和3,或者2和3时,小明分别会有多少零花钱?

代码如下:

y = int(input())

 s = int(input())

 money = 0

 if y == 1 and s == 1:#同时为级别1时

     money += 10

 elif y == 2 and s == 2:#同时为级别2时

     money += 5

 elif y == 1 or s == 1:#有一门以上为1时

     money += 3

 elif y == 3 or s == 3:#有一门以上为3时

     money = 0

 print('小明的零花钱:',money)

输出结果:

1

2

3

 1

 3

 小明的零花钱: 3

1

2

3

 2

 3

 小明的零花钱: 0


3.位运算符

位操作符属于操作符中比较难的内容,位操作符以二进制为单位进行运算,操作的对象以及结果都是整数型。位操作符有如下几个:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、>>(右位移)和<<(左位移)。

具体说明看下表:

运算符名称例子功能
&按位与A&BA和B进行位与运算
|按位或A|BA和B进行位或运算
~按位取反~AA进行取反运算
^按位异或A^BA和B进行位异或运算
>>右位移A>>cA右移c位
<<左位移A<<cA左移c位

依此介绍一下各种位运算。

       1)位与运算(A&B)

位与运算中,A和B按位进行与运算,当每位对应全是1的时候对应结果位1,反之为0

10111001
00100011
00100001

可以看出,当10111001&00100011得到00100011。当对应位同时为1才为1。

       2)位或运算(A|B)

10110010
01011110
11111110

可以看出,当10110010 | 01011110得到11111110,对应位置存在一个1的时候即为1。

       3)异或位运算(A^B)

10110010
01011110
11101100

可以看出,10110010^01011110得到11101100,对应位置相反的时候,即0对应1,1对应0的时候得到1。

       4)按位取反运算(~A)

01010101
10101010

按位取反的过程中需要运用补码运算,即0补为1,1补为0。

       5)左右位移

右移时,(第一行为移动前,第二行为移动后)

01010101
00101010

右边最低位为溢出位被丢弃,在填充左侧最高位时,如果最高位是0,则填0,如果最高位是1,则填1。右移相当于除上2的n次方。

左移时, (第一行为移动前,第二行为移动后)

00101010
01010100

左边最高位为溢出位被丢弃,在最右边空位补0,左移相当于乘上2的n次方。

这章内容带领大家深入了解计算机世界的0和1,可以选择性去掌握了解,最后来介绍一下运算符的优先级,在算法运算时遇到操作符优先级问题的时候可以参考此表格。

由低到高

<、>、<=、>=、!=、==
|
^
&
<<、>>
+、-
*、/、%、//
~、+、-
**


http://www.niftyadmin.cn/n/5679813.html

相关文章

Apache技术深度解析与实战案例

Apache技术深度解析与实战案例 Apache HTTP Server,作为世界使用排名第一的Web服务器软件,凭借其强大的功能和灵活的配置,在Web服务领域占据了举足轻重的地位。本文将从Apache的工作模式、配置文件详解、实战案例等方面进行深入探讨,并通过一个具体的代码示例来展示Apach…

C++学习笔记(45)

322、循环队列、信号量、生产/消费者模型的源代码 一、demo1.cpp // demo1.cpp&#xff0c;本程序演示循环队列的使用。 #include "_public.h" int main() { using ElemTypeint; squeue<ElemType,5> QQ; ElemType ee; // 创建一个数据元素。 cout << &qu…

CS50

文章目录 0.1 关于CS50对进制的介绍——二进制、八进制、十六进制。0.2 计算机的组成结构——计算机由硬件和软件组成。0.3 计算机的运行原理0.4 计算机的编程语言0.5 计算机的操作系统0.6 计算机的网络0.7 编译&#xff08;complier&#xff09;:0.8虚拟机&#xff08;Virtual…

macOS与Ubuntu虚拟机使用SSH文件互传

1.ubuntu配置: 安装openssh服务: sudo apt-get install openssh-server -y 查看服务启动状态: systemctl status ssh 2.macOS使用scp连接ubuntu并发送文件 查看ubuntu IP : ifconfigmacOS终端连接ubuntu : sc

POE供电支持画中画的摄像头解决方案

首先他的主芯片由嵌入式操作系统和高性能硬件处理平台&#xff0c;具有较高稳定性和可靠性&#xff0c;有丰富的接口&#xff0c;可以支持二次开发定制的. 首先&#xff0c;什么是poe供电呢&#xff1f;Poe供电是通过网络线&#xff08;网线&#xff09;供电的一种技术&#x…

找不到MFC100U.dll,无法继续执行代码,重新安装此程序可解决此问题

概要 最近在研究中移物联的模组ML307R&#xff0c;通过二次开发 的方式对之前开发的物联网--如意控项目进行升级&#xff0c;研究了ML307R模组的开发资料&#xff0c;中移物联的模组二次开发难度确实很高&#xff0c;中移物联ML307R的openCPU开发采用的事C语言开发的&#xff0…

Protobuf vs Thrift: 高性能序列化框架的对比与分析

Protobuf&#xff08;Protocol Buffers&#xff09;和Thrift都是高性能、跨语言的序列化框架&#xff0c;它们在数据通信和服务开发中扮演着重要角色。下面从多个方面对它们进行详细对比&#xff1a; 一、概述 1. Protobuf 简介&#xff1a;Protobuf是Google开发的一种语言中…

中国算力大会启幕,联想发布异构智算产业创新成果

9月27日&#xff0c;2024中国算力大会在河南郑州拉开帷幕。作为全球领先的算力基础设施和服务提供商&#xff0c;联想集团参会参展并携手异构智算产业联盟承办2024异构智算产业生态联盟技术论坛。 据「TMT星球」了解&#xff0c;论坛发布了新一代AI服务器、AI应用部署解决方案…