运算符和字符串转换
1. 运算符
1.1 算数运算符
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| + | 加 | 12.45 + 15 | 27.45 |
| - | 减 | 4.56 - 0.26 | 4.3 |
| * | 乘 | 5 * 3.6 | 18.0 |
| / | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
| // | 整除(只保留商的整数部分) | 7 // 2 | 3 |
| % | 取余,即返回除法的余数 | 7 % 2 | 1 |
| ** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16 |
1.2 赋值运算符
| 运算符 | 说 明 | 用法举例 | 等价形式 |
|---|---|---|---|
| = | 最基本的赋值运算 | x = y | x = y |
| += | 加赋值 | x += y | x = x + y |
| -= | 减赋值 | x -= y | x = x - y |
| *= | 乘赋值 | x *= y | x = x * y |
| /= | 除赋值 | x /= y | x = x / y |
| %= | 取余数赋值 | x %= y | x = x % y |
| **= | 幂赋值 | x **= y | x = x ** y |
| //= | 取整数赋值 | x //= y | x = x // y |
| &= | 按位与赋值 | x &= y | x = x & y |
| |= | 按位或赋值 | x |= y | x = x | y |
| ^= | 按位异或赋值 | x ^= y | x = x ^ y |
| <<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
| >>= | 右移赋值 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
1.3 比较运算符
| < | 小于 |
|---|---|
| = | 赋值 |
<= |
小于或等于 |
> |
大于 |
>= |
大于或等于 |
== |
等于,比较两个值是否相等 |
!= |
不等于 |
1.4 逻辑运算符
| 逻辑运算符 | 含义 | 基本格式 | 说明 |
|---|---|---|---|
| and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真(True),否则为假(False)。 |
| or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
| not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
运算
| X or Y | if x is false , then y else x |
|---|---|
| X and Y | if x is false , then x else y |
| Not X | if x is false , then True , else False |
| and 和or 同时出现 | 先看and,后看or; 在设有()的情况下not优先级高于and,and优先级高于or,即优先级关系为()>not>and>or |
2. 字符串转换
小知识
- str :字符串
- int : 数值型
- bool : 布尔类型
# 数字转字符串
v1 = 555
v2 = str(v1)
print(v2)
# 字符串转数字
v1 = "555"
v2 = int(v1)
# 数字转字布尔类型
v1 = 0
v2 = bool(v1)
print (v2)
# 布尔类型中只有0是False,其他是true
# 字符串转字布尔类型
v1 = ""
v2 = bool(v1)
print (v2)
# 布尔类型中只有空值是False,其他是true;空格也是true
# 布尔值转换其他
v1 = True
v2 = int (v1)
print (v2)
value = 1 or 9
print (value)
# 结果输出是1
value = 0 or 9
print (value)
# 结果输出是9
value = 0 or ""
print ("__", value, "__")
# 结果输出是__ __ 结果是空格
#对于or,如果遇到 1 or 9这种情况,需要做出判断:第一个值如果转换成布尔值是真的,value=第一个值;第一个值如果转换成布尔值是假的,value=第二个值;如果遇到多个or条件,则从左往右依次进上述的流程
v1 = 0 or 1
v2 = 8 or 9
v3 = 0 or 9 or 8
print (v1, v2, v3)
# 结果输出:1 8 9
# 如果第一个值是转换成布尔值是True,则等于第二个值;#如果第一个值是转换成布尔值是False,则等于第一个值;如果有多个and条件,则从左往右依次进上述的流程。
v1 = 1 and 9
v2 = 1 and 0
v3 = 0 and 9
v4 = 0 and ""
v5 = 1 and 0 and 9
print (v1, v2, v3, v4,v5)
# 结果输出:9 0 0 0 0
# 如果X是对,则取值为Y
v1 = 1 and 9 or 0 and 6
print (v1)
# 先看and,后看or
练习题
第一题:输出1-100
第二题:输出1-100中的奇数
第三题:输出1-100中的偶数
第四题:输出1-100的和
第五题:计算1-2+3-4+5-6+7...-100的结果
# 第一题:
count = 1
while count <= 100:
print (count)
count += 1 # count = count +1 的简称:+=表示加赋值
# 第二题:
count = 1
while count <= 100:
value = count % 2
if value != 0: # 或者使用if value ==1:
print (count)
count = count +1
#第三题:
count = 1
while count <= 100:
value = count % 2
if value ==0:
print (count)
count = count +1
#第四题:
total = 0
count = 1
while count <= 100:
total = total + count
count = count +1
print (total)
#第五题:
total = 0
count = 1
while count <= 100:
if count % 2 == 0:
a = total - count
else :
b = total + count
count = count +1
c = a + b
print (c)
浙公网安备 33010602011771号