MENU

Python 笔记 第二章

• August 4, 2022 • Read: 104 • 编程语言,学习笔记

算法运算

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

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

算术优先级

  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")

例题:

image.png

  • 字符串切片(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 国际许可协议进行许可。

Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment

2 Comments
  1. 常瑞 常瑞 IP属地:天津     Windows 10+ /   Google Chrome

    哇 技术大佬@(真棒)

    1. 林栈 林栈     Windows 10+ /   Google Chrome

      @常瑞常大佬认错了哦,在下的只是雕虫小技,技术大佬是隔壁文章的Herny兄哦。::xhl:kaixin::