赞
踩
我们还是用一个问题来引出今天的学习内容,同样是计算成绩。
Q:给定学生三门成绩
(1)计算该学生的平均成绩并打印平均成绩保留两位小数点
(2)计算该学生语文成绩占总成绩的百分之多少?并打印,百分比也保留两位小数
A:
- # ID 生成唯一UUID
-
- Chinese = 92
- Math = 98.5
- English = 93
-
- # 总成绩
- SumScore = Chinese + Math + English
- # 平均成绩
- AvgScore = SumScore / 3
- # 百分比
- ChinesePercent = ( Chinese / SumScore ) * 100
- print("%s的平均成绩为%.2f" %(ID,AvgScore))
-
- #输出
- 9fde9178-ec75-11ea-9d07-a0510bfd82f6
- 9fde9178-ec75-11ea-9d07-a0510bfd82f6的平均成绩为94.50
-

学前引导:
变量&运算符(本文重点):
变量
转义字符
运算符
初识判断语句
首先,当我们定义了一个变量name = 'Data'的时候,在内存中其实是做了这样一件事。
程序开辟了一块内存空间,将'Data'存储进去,再让变量名name指向'Data'所在的内存地址。如下所示:
- #通过下列方法可以查看这个变量在内存中的地址
- name = 'Data'
- print(id(name))
- 2720846969904
-
一般我们认为修改一个变量就是用新值把就旧值覆盖掉 实际的原理是什么样的呢?
程序先申请了一块内存空间来存储'Data',让name变量名指向这块内存空间,往下执行name = 'Science'之后,又申请了另一块内存空间来存储'Science',并让原本指向'Data'内存的链接断开,让name再指向'Science'。
- #案例演示
-
- name = 'Data'
- print(id(name))
- name = 'Science'
- print(id(name))
- 2720846969904
- 2718733174640
-
当执行name2 = name1时,事实上时让name2指向了'Data'所在的内存地址。
修改name1的值,相当于断开了name1到'Data'的链接,重新建立name1和'Science'之间的链接。
在这个过程中,始终没有影响到name2和'Data'之间的关系,因此name2还是'Data',而name1变成了'Science'
- #案例演示
- name1 = 'Data'
- name2 = name1
- print(name1, name2)
- name1 = 'Science'
- print(name1, name2)
- Data Data
- Science Data
1、以下可以作为python标识符是___。
A.2morrow
B.your-name
C._study
D.abc*123
2、如下示例:字符串str1的值赋值给str2时,str2的变量地址是否改变?如果是字典赋值呢?
-
- str1= 'python'
- str2= 'pandas'
- str2= str1
-
算术运算符
运算优先级
赋值运算符
复合赋值运算符
即基本的算术运算:加+、 减- 、乘* 、除/ 、取余% 、幂** 、取整除//
下面以a=10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | x除以y b / a 输出结果 2 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 幂 | 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
- # 更多案例
- a=21
- b=3
- c=4
- print(a+b)
- print(a-b)
- print(a/b)
- print(a*b)
- print(c**3)
- print(a%c)
- print(a//c)
- print(45-a)
- 24
- 18
- 7.0
- 63
- 64
- 1
- 5
- 24

运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7 |
直接赋值=
加法赋值运算符 +=
减法赋值运算符 -=
乘法赋值运算符 *=
除法赋值运算符 /=
取余赋值运算符 %=
幂赋值运算符**=
取整除赋值运算符//=
其中比较常见的运算符有+=(自加)和-=(自减)
- a=3
- b=2
- c=10
- # c+=a
- c/=b
- print(c)
- a+=4
- print(a)
- 5.0
- 7
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
比较运算符通常在条件判断中经常使用到
相等==
不相等!=
大于>
小于<
大于等于>=
小于等于<=
如下表
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3则(a == b) 为 true. |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a != b) 为 true. |
<> | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符 |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a > b) 为 true. |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a < b) 为 false. |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a >= b) 为 true. |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a <= b) 为 true. |
- a=5
- b=10
- c=1
- print(a>b)
-
- if a>b:
- print('a大于b')
- else:
- print('a小于b')
-
- False
- a小于b
逻辑运算符为结果真假的与或非分别用and or not来表示,我们这里可以通过简单的赋值来体会这个逻辑关系。
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
- a = 10
- b = 20
-
- if a and b : #判断a和b是否都为真
- print("a,b均为真")
- else:
- print("a,b中有一个不为真")
- **********************************
-
- if a or b :
- print("a,b中至少有一个为真")
- else:
- print("a,b都不为真")
-
- ***********************************
- #修改变量 a 的值
- a = 0
- if a and b :
- print ("a,b都为真")
- else:
- print("a,b中有一个不为真")
-
- ***********************************
- if a or b :
- print("a,b中至少有一个为真")
- else:
- print("a,b都不为真")
-
- ************************************
- if not( a and b ):
- print("a,b中至少有一个为假")
- else:
- print("a,b都为真")
- a,b均为真
- a,b中至少有一个为真
- a,b中有一个不为真
- a,b中至少有一个为真
- a,b中至少有一个为假

按位运算符是把数字看作二进制来进行计算的。
‘&’表示为按位与
‘|’表示按位异或
‘^’表示按位异或
‘~’表示按位取反
‘<<’表示按位左移
‘>>’表示按位右移
- a = 60 # 60 = 0011 1100
- b = 13 # 13 = 0000 1101
- c = 0
-
- c = a & b; # 12 = 0000 1100
- print(" c 的值为:", c)
-
- c = a | b; # 61 = 0011 1101
- print("c 的值为:", c)
-
- c = a ^ b; # 49 = 0011 0001
- print ("c 的值为:", c)
-
- c = ~a; # -61 = 1100 0011
- print("c 的值为:", c)
-
- c = a << 2; # 240 = 1111 0000
- print("c 的值为:", c)
-
- c = a >> 2; # 15 = 0000 1111
- print("c 的值为:", c)
- c的值为: 12
- c 的值为: 61
- c 的值为: 49
- c 的值为: -61
- c 的值为: 240
- c 的值为: 15

语法:
语句1 if 条件表达式 else 语句2
执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
例子:
- a=10
- b=5
-
- if a>15:
- c=a
- else:
- c=b
- print(c)
- 5
上面的运算可以用三元运算来表示,即:
- c=a if a>15 else b
- print(c)
- 5
1、控制台输入半径,计算圆的面积,圆周率取3.14。
输入格式:
系统提示the radius is,输入一个整数
输出格式(以半径2为例):
area=12.56
2、判断字符串"alpha"和"Beta"的大小:
A."alpha" < "Beta"
-B."alpha" > "Beta"
3、如下代码的运算结果是:
1 == 1 and not ("apple" == 1 or 1 == 0)
A. True
B. False
C. 1
D. 0
4、如下代码的运算结果是:
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
A. True
B. False
C. 无法输出
5、控制台输入两个整数,输出两数之和,要求不得使用 “+”、“-”、“*”、“/” 四则运算符号。
6、输入三个整数,用三目运算符输出其中的最大值
( 学员- callmeestelle )
我
爱
学
习
好文章,我 在看❤
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。