zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python 笔记 第二章

Python笔记 第二章
2023-06-13 09:12:50 时间

算法运算

/ + - * (结果均为小数,) %(取余) //(求商,往小取整) **(求幂)

  • 有小数的算术表达式,结果就是小数(除非经过其他转换)

算术优先级

  1. **
  2. * / // %
  3. + - (多用 ()可取代优先级)

算术运算的同时赋值

+= 实际意义: a+=s 即 a=a+s (数学符号不可乱用于此)

关系运算符

!= == > <>= <= (可用于字符串比较)

逻辑运算符及表达式

逻辑运算符

and or not 三种 操作结果 True/False

  1. and
n = 4
n >= 2 and n < 5 #>>Ture
print(4 and True) #>>Ture
  • 0,"",[] 都相当于 false(但不等于 false)
  • 非 0 的数,非空的字符串和非空列表都相当于 Ture
  • Ture 可以看作 1,False 可以看作 0
  1. or
  • 只要有一个为 True,结果为 True
  • 否则为 False
  1. 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 国际许可协议进行许可。

邮件订阅 [BETA]