第二期课堂笔记

一、python 输入与输出

input()

  • 无提示: input()
  • 带文本提示 input("提示内容")
  • 文本分割 a,b=input().split()

print()

  • 直接输出,可以输出文本、数字、浮点、等数据类型 print('文本',123,3.14)
  • 可以直接做数学运算 print(123 + 456)
  • 支持多参数,输出时每个数据以"空格"分隔,可以用关键字参数sep="" 调整为空或其它字符 print(a,b,sep="")
  • print输出后,默认换行(\n),或可以用关键字参数 end="\n" 来调整为一行或其它字符 print(123456,end="")

f-string 文本格式化 format

-print(f"") 或 print("".format()) print(f"a={a} b={b} [推荐用法] 等效于 print("a={} b={}".format(a,b)

数位格式化 (小数位保留有效个数)

  • %d 整型输出
  • %f 浮点型输出
  • %s 字符串输出
  • %b%d%o%x分别是二进制、十进制、八进制、十六进制。
  • ^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

二、数据互换

int()、str()、float()

  • int 整形
  • string 文本
  • float 浮点(小数)

三、map() 映射转换

a,b = map(int , input().split())

四、字符串索引

字符串是字符的有序集合,可以通过其位置来获得具体的元素。在python中,字符串中,字符串中的字符是通过索引来提取的,索引从0开始。

python可以取负值,表示从末尾提取,最后一个为-1,倒数第二个为-2,即程序认为可以从结束处反向技术。

下面是对 python 索引和切片的总结:

  1. 索引获取特定偏移的元素
字符串中第一个元素的偏移为 0
字符串中最后一个元素的偏移为-1
str[0] 获取第一个元素
str[-2] 获取倒数第二个元素

n = 123
print(type(n))
n = '1234'
print(type(n))
# 综上,type() 显示数据类型
print("*"*30)
zx = "123"
ans = isinstance(zx,int)
print(ans)
ans = isinstance(zx,str)
print(ans)
py
<class 'int'>
<class 'str'>
**************************************
False
True

使用切片,反转数据实现判断回文数

sum = str(a+b)
print(sum)
if( sum == sum[::-1] ):
    print("Yes")
else:
    print("No")

切片语法

list[begin,end,step]

step中的正负值符号用于表示,切片方向:正值从左到右,负值从右到左

strp=-1 即从后往前取值如:str[::-1]获得相反数

取余运算

除法运算: 使用/结果可能产生小数(float)

整除运算: 使用//结果只会保争留商的部分,余数会被舍弃

//也叫"地板除"向负无穷靠近 如: -4 // 3 => -2

int() 取整操作 向零靠近 如: int(-1.3) => -1

取模操作 %,现阶段可以等同于取余数

实际应用:

如:35605秒 等于几时几分几秒

n = 35605 m = n % 3600 print(f"{n // 3600}:{m // 60}:{m%60}")

不用函数实现四舍五入

不用函数实现四舍五入

0.5 = > 0.5 + 0.5  = >  1.0 
0.6 =>  0.6 + 0.5  =>   1.1
0.8 =>  0.8 + 0.5  =>   1.3

0.4 => 0.4 + 0.5  =>   0.9
0.3 => 0.3 + 0.5  =>   0.8

11  = > 10
15  =>  20
保留十位数对个位进行四舍五入
a =  (a+5) // 10 * 10
保留到百位数
a = (a+50) // 100 * 100

不用条件判断实现向上取整

【需求】 每500克加收超重费4元,不足500克部分按500克计算;


(x + 500 -1) // 500 * 4

三目运算

在python中,三目运算符是通过条件表达式实现的,其语法为:

x if condition else y

这个表达式会根据condition的布尔值选择xy。如果conditionTrue,则结果为x;如果conditionFalse,则结果为y

# 示例1:判断年龄是否大于18
age = 20
status = "Adult" if age >= 18 else "Minor"
print(status)   # 输出: Adult

# 示例2:计算最大值
a = 5
b = 10
max_value = a if a > b else b
print(max_value)  #输出:10

match case基本语法概念

语法结构解析 在Python 3.10及更高版本中,match-case语句引入了一种新的模式匹配机制,它类似于其他语言中的switch-case结构,但更加强大和灵活。match-case允许开发者通过模式匹配来进行复杂的条件判断 ,而不仅仅是简单的值比较。这不仅提高了代码的可读性,还提供了更丰富的表达能力。

match m :
    case 1 | 3 | 5 | 7 | 8 | 10 |12:
        d = 31
    case 2:
        d=28
    case 4|6|9|11:
        d=30
    case _ :
        d = 0 # print("月份错误")

_表示默认情况,|表示并列的情况case可以用于,整形、字符串,数据类型判断等情况。 (低) -- -- (高) 赋值运算符 => 逻辑运算符 => 关系运算符 => 算术运算符 a=,+=,/= and,or,not >= == < * / + -

闰年算法: if(y % 400 == 0 or y % 4 == 0 and y % 100 != 0)

continue,bread,return的区别与理解

continue:退出当前循环 break:退出循环 return:退出程序

5 条评论

  • @ 2024-8-13 19:33:17

    简易判断一个数是不是整型

    if a == int(a) :
        print(int(a))
    else:
        print(f"{a:.1f}")
    
    
    • @ 2024-8-12 20:31:29

      四舍六入五留双

      f,d = input().split()

      f, d = float(f) ,int(d)

      文本格式中的“*”是一个通配符,当代码运行时才

      指定保留小数点位数

      print("%.*f" %(d,f))

      在f-string中可以继续使用{d}来表示通配符

      print(f"{f:.{d}f}")

      • @ 2024-8-12 19:53:30

        PI = 3.14159 # const 伪常量

        常量通常全部大写字母来命名(约定优于配置)

        r = float(input())

        d = PI*r # 直径

        c = PI*d # 周长

        s = PIrr # 面积

        print(f"直径为:{d:.4f} 周长为:{c:.4f} 面积为:{s:.4f}")

        print("直径为:%.4f 周长为:%.4f 面积为%.4f" %(d,c,s) )

        • @ 2024-8-12 19:52:09

          print("整数:%d,%d,%d" % (1, 22.22, 33))

          print("整数不足5位,左边补空格 %5d " % 22)

          print("整数不足5位,左边补0 %05d " % 22)

          print("整数不足5位,右边补空格 %-5d " % 22, "end")

          print("八进制 %o" % 222)

          print("十六进制 %x" % 12)

          • @ 2024-8-10 20:35:44

            哈哈哈,这个人的笔记太实用了

            👍 1
          • 1