算法运算
/
+
-
*
(结果均为小数,)%
(取余) //
(求商,往小取整)**
(求幂)
- 有小数的算术表达式,结果就是小数(除非经过其他转换)
算术优先级
- **
- * / // %
- + -
(多用()
可取代优先级)
算术运算的同时赋值
+=
实际意义: a+=s 即 a=a+s
(数学符号不可乱用于此)
关系运算符
!=
==
>
<>=
<=
(可用于字符串比较)
逻辑运算符及表达式
逻辑运算符
and
or
not
三种
操作结果 True
/False
- 和
and
n = 4
n >= 2 and n < 5 #>>Ture
print(4 and True) #>>Ture
- 0,"",[] 都相当于 false(但不等于 false)
- 非 0 的数,非空的字符串和非空列表都相当于 Ture
- Ture 可以看作 1,False 可以看作 0
- 或
or
- 只要有一个为 True,结果为 True
- 否则为 False
- 非
not
在运算关系式中:
- 值为 True,结果为 False
- 值为 False,结果为 True
优先级:not
>and
>or
print(3<4 or 4>5 and 1>2) #>>Ture
(短路计算: 逻辑表达式的计算在整个表达式的值已经能判定的时候就会停止。)
各种运算符的优先级
- 算术运算符 + - / // % *
- 关系运算符 < > == != >= <=
- 逻辑运算符 and or not
(不记得就多使用括号)
条件分支语句
if 逻辑表达式1:
语句组1
elif 逻辑表达式2:
语句组2
···#可以有多个 elif
elif 逻辑表达式n:
语句组n
else:
语句组n+1
if 逻辑表达式1:
语句组1
else (表达式2):
语句组2
if 逻辑表达式1:
语句组1
(注意冒号)
- 程序语句前不能加空格或制表符(除非在 if while for 语句中)
if 语句中的语句组,每条语句左边必须缩进,且格式一样
if int(input()) ==5 print("a",end="") print("b") #>>b(没有对齐,出错)
if 0
print(0)
#>> 无输出
if 语句的嵌套
a =int(input()) if a >0: if a % 2: print("good") else: print("bad")
例题:
字符串切片(s[x:y]是 s 的从下标 x 到下标 y 的左边那个字符构成的子串)
a = "abcdef" print(a[2:-1]) #>> cde
(注意不要把 if ··· else 或 if ··· elif ··· else 写成多个并列 if )
输出格式控制
字符串中的格式控制符
- %s 表示此处要输出一个字符串
- %d 表示此处要输出一个整数
- %f 表示此处要输出一个小数
%.nf 表示此处要输出一个小树,保留小数点后 n 位,四舍六入,五不一定
print("My name is %s,I am %.2fm tall."% ("tom",1.746)) #>> My name is tom,I am 1.75m tall.(操作失败)
本章习题
s = int (input("请输入一个数:"))
if s % 2 == 0:
print ("此数为偶数。")
else :
print ("此数为奇数。")
#奇数偶数的判断
tangle = input().split()
a,b,c= int(tangle[0]),int(tangle[1]),int(tangle[2])#注意该行写法
if a+b>c and a+c>b and b+c>a:
print("yes.")
else:
print("no.")
#输入三个数,判断是否为三角形的三条边。
s = input("请输入两个数字,一个符号:").split()
n1,n2,c = int(s[0]),int(s[1]),s[2]
if c in["+","-","*","/"]:
if c =="+":
print(n1+n2)
elif c =="-":
print(n1-n2)
elif c =="*":
print(n1*n2)
elif c =="/":
if n2 == 0:
print("Divided by zero!")
else :
print(n1/n2)
else :
print("invalid operator!")
#输入两个数字一个符号进行运算,验证通过
#注意:符号要单独拿出来验证并计算,试搜寻可行计划将其放入数字之中进行运算
#另一种方法:
s = input("请输入两个数字,一个符号:").split()
if s[2] not in ["+","-","*","/"]:
print("invalid operator!")
elif s[2] =="/" and int(s[1])==0:
print("Divided by zero!")
else:
print(eval(s[0]+s[2]+s[1]))#此行既为上述搜寻的方法
#此方法未将其用其他的字母代替
字节星球 林栈 2022-08-03 未经允许,严禁转载!
版权属于:字节星球 (转载请联系作者授权)
原文链接:https://www.bytecho.net/archives/2058.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
哇 技术大佬@(真棒)
常大佬认错了哦,在下的只是雕虫小技,技术大佬是隔壁文章的Herny兄哦。::xhl:kaixin::