上海交通大学出版社(红灰皮书)
就是为了记录一下,欢迎指正和讨论
标识符及命名规则
变量与赋值语句
数据的输入与输出
数值
字符串
混合运算类型转换
'''#例2-1 m = eval(input("请输入一个整数:")) n = eval(input("请输入一个整数:")) sum = m + n avg = sum / 2 print("和为:",sum) print("平均值为: ",avg)''' # 例2-2 # m = 2 # type(m) # m = "你好" # type(m) # 例2-4 # x = 100 # print(x) # m = "I am a girl." # print(m) # 例2-5 '''x = y = z = 100 print(x,y,z) x = x + 100 y = y + 200 print(x,y,z)''' # 例2-6 # a, b = 100,200 # print(a,b) # 例2-7 交换变量的值 '''a = 100 b = 200 print(a,b) a, b = b, a print(a,b)''' # 例2-8 # name = input("请输入您的名字:") # 例2-9 '''m = eval(input("请输入一个数:")) n = eval(input("请输入一个数:")) print("m和n的差是:",m - n)''' # 例2-10 '''print(3+5) print(3,5) print() print("3+5= ",3+5)''' # 例2-11 # print(3) # print(4) # print("3+4=", end="")‘’‘#后面加上end="" 不换行 # print(3+4)‘’‘ # 例2-12 '''run = eval(input("短跑成绩:")) rope = eval(input("三分钟跳绳成绩:")) longjump = eval(input("跳远成绩:")) score = run * 0.4 + rope * 0.3 + longjump * 0.3 print("体育总评成绩:",score)''' # 例2-14 '''money = eval(input("请输入金额:")) a50 = money // 50 b = money % 50 c5 = b // 5 d1 = b % 5 print("需要50元钱 张",a50) print("需要5元钱 张",c5) print("需要1元钱 张",d1)''' # 例2-16 '''a = 2 print(a**3) print(abs(-273)) #绝对值 print(divmod(24,12)) #两个数取整,取余 print(pow(2,3)) #乘方 print(round(3.1415,2))#四舍五入 print(max(23,-34,928,23)) #取最大值 print(min(-29,32,48,-92)) #取最小值''' # 8 # 273 # (2, 0) # 8 # 3.14 # 928 # -92
# 例2-27 # ord()求单字符对应的Unicode的编码值 # chr()求Unicode编码值对应的单字符 print(ord('A'),ord('B'),ord('C'),ord('a'),ord('b'),ord('c'),ord('0'),ord('1'),ord('2'),ord('/'),ord('+'),ord(' '),chr(100),chr(101)) # 65 66 67 97 98 99 48 49 50 47 43 32 d e
# 例2-28 -29 -30 -31 -32 -33 # 内置字符串处理方法 # find 查找第一次出现的位置 # rfind 查找最后一次出现的位置 # index 查找第一次出现的位置 # rindex 查找最后一次出现的位置 # count 查找出现的次数 # split 用 字符 从左端分开 可设置最大分隔次数 # rsplit 用 字符 从右端分开 可设置最大分隔次数 # partition 用 字符串 分隔 从左端开始 # rpartition 用 字符串 分隔 从右端开始 s = "bird,fish,monkey,rabbit" print(s.find('fish')) # 5 print(s.rfind('b')) # 20 print(s.find('b')) # 0 print(s.find('tiger')) #不存在返回-1 # -1 print(s.index('bird')) # 0 print(s.rindex('i')) # 21 #print(s.index('tiger')) #不存在报错 print(s.count('bird')) # 1 print(s.count('b')) # 3 print(s.count('tiger')) #不存在结果为0 # 0 print(s.split(',')) # ['bird', 'fish', 'monkey', 'rabbit'] print(s.partition('fish')) # ('bird,', 'fish', ',monkey,rabbit') print(s.rpartition('fish')) # ('bird,', 'fish', ',monkey,rabbit') print(s.partition('tiger')) #分割字符串不存在,返回原串和两个空串 # ('bird,fish,monkey,rabbit', '', '') str = "南京 上海 天津 杭州 无锡" print(str.split(maxsplit=2)) # ['南京', '上海', '天津 杭州 无锡'] print(str.rsplit(maxsplit=2)) # ['南京 上海 天津', '杭州', '无锡'] print(str.split()) # ['南京', '上海', '天津', '杭州', '无锡']
# 可以一下输入几个数,但要注意,对应关系,且 要用逗号分开 '''a,b = eval(input()) print(a,",",b)'''
# 例2-34 # join 将列表中的多个字符串连接 li = ['apple','banana','pear','peach'] print( ':'.join(li) ) print( '-'.join(li)) # apple:banana:pear:peach # apple-banana-pear-peach # 例2-36 # replace 用指定的 替换 字符串中的,每次只能替换一个 s = "你是我的小呀小苹果" print(s.replace('小','small')) # 你是我的small呀small苹果 # 例2-37 # strip 删除两端 # rstrip 删除右端 # lstrip 删除左端 s = " abc " print(s.strip()) print(s.rstrip()) print(s.lstrip()) # abc # abc # abc x = "===Mike===" print(x.strip('=')) print(x.rstrip('=')) print(x.lstrip('=')) # Mike # ===Mike # Mike=== # 例2-35 # 大小写字符转换 # lower 全转小写 # upper 全转大写 # capitialize 字符串开头首字母转大写,其余都变成小写 # title 每个单词首字母转大写 # swapcase 大小分别转换 s = 'I am a girl.' print(s.lower()) print(s.upper()) print(s.capitalize()) print(s.title()) print(s.swapcase()) # i am a girl. # I AM A GIRL. # I am a girl. # I Am A Girl. # i AM A GIRL. # 例2-38 # 判断是不是以指定的字符开头或结尾 # startwith 开头 # endwith 结尾 s = "Python 程序设计.py" print(s.startswith('Python')) print(s.endswith("py")) # True # True # 例2-39 # 判断字符串类型 # islower 是否全小写 # isupper 是否全大写 # isdigit 是否全是数字 # isalnum 是否为数字或字母或汉字 # isalpha 是否全字母和汉字 s = "years" print(s.islower()) # True a = "YEARS" print(a.isupper()) # True b = "20240319" print(b.isdigit()) # True c = "He is 10 years old" d = c.replace(" ", "") print(d) # Heis10yearsold print(d.isalnum()) # True print(d.isalpha()) # False # 例2-40 # 排版方法 # center 居中对齐 # ljust 靠左对齐 # rjust 靠右对齐 # zfill 输出宽度,默认靠右对齐,以0补充 s = "Hello Mike" print(s.center(30,"=")) print(s.ljust(20,"*")) print(s.rjust(20,"*")) print(s.zfill(20)) # ==========Hello Mike========== # Hello Mike********** # **********Hello Mike # 0000000000Hello Mike # 例2-41 -42 -43 # format()格式化 # print("我是{}班{}号的学生{}".format("大数据2306","27","mzw")) # print("我是{2}班{1}号的学生{0}".format("mzw",27,"大数据2307")) # ”{: 填充字符 对齐方式 宽度}“.format print("{:*^20}".format("Mike")) # ********Mike******** print("{:=<20}".format("bird")) # bird================ print("{:$>20}".format("apple")) # $$$$$$$$$$$$$$$apple print("{:.2f}".format(3.1415)) # 3.14 print("{:.4f}".format(3.124464)) # 3.1245 print("{:@^20}".format(3.14)) # @@@@@@@@3.14@@@@@@@@ print("{:5d}".format(34)) #整数不允许带精度 没指定填充字符默认空格 # 34 print("{:%>20}".format(45)) # %%%%%%%%%%%%%%%%%%45 # 例2-44 a = 12 print(type(a)) # <class 'int'> #int和float可以混合运算,且int会自动转为float类型 f = a + 12.0 print(f) # 24.0 print(type(f)) # <class 'float'> print(56 + False) # False会转换成0 # 56 print(23 + True) # Ture会转换成1 # 24 # print(23 + '3') # 数值型数据和字符串无法做‘+’运算 # 强制转换 print(int(2.52)) # float转int # 2 print(float(3)) # int转float # 3.0 #print(int('abs')) # 字符无法转 # print(float(input("输入圆的半径:"))) # R = float(input("输入圆的半径:")) # 输入圆的半径:4.2 # 4.2 #将字符型数据转换成数值类型数据 # print(int(input("输入年份:"))) # year = int(input("输入年份:")) # 输入年份:2024 # 2024 # a, b = eval(input('输入a,b的值:')) # print("The sum is ",a + b) # print("The average value is ",(a + b )/2) # 输入a,b的值:7,8 # The sum is 15 # The average value is 7.5 # m = eval(input("m = ")) # n = eval(input("n = ")) # m = 4 # n = 9 # sum = m + n # avg = (m + n) / 2 # # print("The sum is", sum) # print("The average value is", avg) # The sum is 13 # The average value is 6.5 m = eval(input('请输入你想知道的月份,我会告诉你这个月份对应的英文前三个字母:')) months = "JanFebMarAprVayJunJulAugSepOctNovDec" pos = (m - 1) * 3 print(months[pos:pos + 3]) # 请输入你想知道的月份,我会告诉你这个月份对应的英文前三个字母:7 # Jul