基本数据类型(int,bool,str)
1.基本数据数据类型:
int 整数
str 字符串. 一般不存放大量的数据
bool 布尔值. 用来判断. True, False
list 列表.用来存放大量数据, []表示. 里面可以装各种数据类型.
tuple 元组. 只读列表. () 表示
dict 字典. {key:value}
set 集合. 不重复
2. int类型
bit_length() 返回一个数的二进制长度
3. bool类型
布尔只有两个值. True,False. 一般是没有什么操作的.
类型转换的问题:
想把xx转换成yy. yy(xx)
可以表示False的内容:0, "", [], tuple(), {}, None
所有的空都是False. 所有的非空是True
4. str类型 字符串
由',",''', """阔起来的内容就是字符串
字符串是不可变的数据类型.不论你执行任何操作. 源字符串是不会改变的, 每次操作都会返回新字符串
1. 索引和切片
索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数
切片: [起始位置:结束位置:步长]
1. 顾头不顾尾
2. 默认从左到右取值.
3. 当步长为负可以从右往左取值
2. 字符串相关操作
1. upper() 转换成大写
2. stript() 去掉空白
3. replace(old, new) 把xxx替换成xxxx
4. split() 切割. 返回列表. 用多长的刀. 就要损失掉多少
5. startswith() 判断是否以xxx开头
6. find(), count(), index()
7. len() 字符串长度. python的内置函数
3. for循环
for 变量 in 可迭代对象:
循环体, 也存在break和continue
else:
当循环结束的时候会执行
练习题
1.有变量量name = "aleX leNb" 完成如下操作:
1)移除 name 变量量对应的值两边的空格,并输出处理理结果
2)移除name变量量左边的"al"并输出处理理结果
3)移除name变量量右⾯面的"Nb",并输出处理理结果
4)移除name变量量开头的a"与后的"b",并输出处理理结果
5)判断 name 变量量是否以 "al" 开头,并输出结果
6)判断name变量量是否以"Nb"结尾,并输出结果
7)将 name 变量量对应的值中的 所有的"l" 替换为 "p",并输出结果
8)将name变量量对应的值中的第⼀一个"l"替换成"p",并输出结果
9)将 name 变量量对应的值根据 所有的"l" 分割,并输出结果。
10)将name变量量对应的值根据第⼀一个"l"分割,并输出结果。
11)将 name 变量量对应的值变⼤大写,并输出结果
12)将 name 变量量对应的值变⼩小写,并输出结果
13)将name变量量对应的值⾸首字⺟母"a"⼤大写,并输出结果
14)判断name变量量对应的值字⺟母"l"出现⼏几次,并输出结果
15)如果判断name变量量对应的值前四位"l"出现⼏几次,并输出结果
16)从name变量量对应的值中找到"N"对应的索引(如果找不不到则报错),并输出结果
17)从name变量量对应的值中找到"N"对应的索引(如果找不不到则返回-1)输出结果
18)从name变量量对应的值中找到"X le"对应的索引,并输出结果
19)请输出 name 变量量对应的值的第 2 个字符?
20)请输出 name 变量量对应的值的前 3 个字符?
21)请输出 name 变量量对应的值的后 2 个字符?
22)请输出 name 变量量对应的值中 "e" 所在索引位置?
例例如:asb, bsb,csb,...gsb。 6.使⽤用for循环对s="321"进⾏行行循环,打印的内容依次是:"倒计时3秒","倒计时 2秒","倒计时1秒","出发!"。
7,实现⼀一个整数加法计算器器(两个数相加):
如:content = input("请输⼊入内容:") ⽤用户输⼊入:5+9或5+ 9或5 + 9,然后进 ⾏行行分割再进⾏行行计算。
8,实现⼀一个整数加法计算器器(多个数相加):
如:content = input("请输⼊入内容:") ⽤用户输⼊入:5+9+6 +12+ 13,然后进⾏行行 分割再进⾏行行计算。
9,计算⽤用户输⼊入的内容中有⼏几个整数(以个位数为单位)。
如:content = input("请输⼊入内容:") # 如fhdal234slfh98769fjdla
10、写代码,完成下列列需求:
⽤用户可持续输⼊入(⽤用while循环),⽤用户使⽤用的情况: 输⼊入A,则显示⾛走⼤大路路回家,然后在让⽤用户进⼀一步选择: 是选择公交⻋车,还是步⾏行行? 选择公交⻋车,显示10分钟到家,并退出整个程序。 选择步⾏行行,显示20分钟到家,并退出整个程序。 输⼊入B,则显示⾛走⼩小路路回家,并退出整个程序。 输⼊入C,则显示绕道回家,然后在让⽤用户进⼀一步选择: 是选择游戏厅玩会,还是⽹网吧? 选择游戏厅,则显示 ‘⼀一个半⼩小时到家,爸爸在家,拿棍等你。’并让其 重新输⼊入A,B,C选项。 选择⽹网吧,则显示‘两个⼩小时到家,妈妈已做好了了战⽃斗准备。’并让其重 新输⼊入A,B,C选项。
11、写代码:计算 1 - 2 + 3 ... + 99 中除了了88以外所有数的总和?
12. 判断⼀一句句话是否是回⽂文. 回⽂文: 正着念和反着念是⼀一样的.
例例如, 上海海 ⾃自来⽔水来⾃自海海上
13. 输⼊入⼀一个字符串串,要求判断在这个字符串串中⼤大写字⺟母,⼩小写字⺟母,数字, 其它字符共出现了了多少次,并输出出来
14、制作趣味模板程序需求:等待⽤用户输⼊入名字、地点、爱好,根据⽤用户的名 字和爱好进⾏行行任意现实 如:敬爱可亲的xxx,喜欢在xxx地⽅方⼲干xxx
15. 给出百家姓. 然后⽤用户输⼊入⼀一个⼈人的名字. 判断这个⼈人是否是百家 姓中的姓⽒氏(升级题) 百家姓: first_names = """ 赵钱孙李李,周吴郑王。 冯陈褚卫,蒋沈沈韩杨。 朱秦尤许,何吕施张。 孔曹严华,⾦金金魏陶姜。 戚谢邹喻,柏⽔水窦章。 云苏潘葛,奚范彭郎。 鲁⻙韦昌⻢马,苗凤花⽅方。 俞任袁柳柳,酆鲍史唐。 费廉岑薛,雷雷贺倪汤。 滕殷罗毕,郝邬安常。 乐于时傅,⽪皮卞⻬齐康。 伍余元⼘卜,顾孟平⻩黄。 和穆萧尹,姚邵湛汪。 祁⽑毛禹狄,⽶米⻉贝明臧。 计伏成戴,谈宋茅庞。 熊纪舒屈,项祝董梁梁。 杜阮阮蓝闵,席季麻强。 贾路路娄危,江童颜郭。 梅梅盛林林刁,钟徐邱骆。 ⾼高夏蔡⽥田,樊胡凌霍。 虞万⽀支柯,昝管卢莫。 经房裘缪,⼲干解应宗。 丁宣贲邓,郁单杭洪。 包诸左⽯石,崔吉钮龚。 程嵇邢滑,裴陆荣翁。 荀⽺羊於惠,甄曲家封。 芮羿储靳,汲邴糜松。 井段富巫,乌焦巴⼸弓。 牧隗⼭山⾕谷,⻋车侯宓蓬。 全郗班仰,秋仲伊宫。 宁仇栾暴暴,⽢甘钭厉戎。 祖武符刘,景詹束⻰龙。 叶幸司韶,郜黎蓟薄。 印宿⽩白怀,蒲邰从鄂。 索咸籍赖,卓蔺屠蒙。
池乔阴鬱,胥能苍双。 闻莘党翟,谭贡劳逄。 姬申扶堵,冉宰郦雍。 卻璩桑桂,濮⽜牛寿通。 边扈燕冀,郏浦尚农。 温别庄晏,柴瞿阎充。 慕连茹习,宦艾⻥鱼容。 向古易易慎,⼽戈廖庾终。 暨居衡步,都耿满弘。 匡国⽂文寇,⼴广禄阙东。 欧⽎殳沃利利,蔚越夔隆隆。 师巩厍聂,晁勾敖融。 冷訾⾟辛阚,那简饶空。 曾毋沙乜,养鞠须丰。 巢关蒯相,查后荆红。 游竺权逯,盖益桓公。 万俟司⻢马,上官欧阳。 夏侯诸葛,闻⼈人东⽅方。 赫连皇甫,尉迟公⽺羊。 澹台公冶,宗政濮阳。 淳于单于,太叔申屠。 公孙仲孙,轩辕令狐。 钟离宇⽂文,⻓长孙慕容。 鲜于闾丘,司徒司空。 丌官司寇,仉督⼦子⻋车。 颛孙端⽊木,巫⻢马公⻄西。 漆雕乐正,壤驷公良。 拓拓跋夹⾕谷,宰⽗父⾕谷梁梁。 晋楚闫法,汝鄢涂钦。 段⼲干百⾥里里,东郭南⻔门。 呼延归海海,⽺羊⾆舌微⽣生。 岳帅缑亢,况郈有琴。 梁梁丘左丘,东⻔门⻄西⻔门。 商牟佘佴,伯赏南宫。 墨墨哈谯笪,年年爱阳佟。 第五⾔言福,百家姓终。 """
答案
#1 #(1) name = "aleX leNb" s1 = name.strip() print(s1) #(2) s2 = name.lstrip("al") print(s2) #(3) s3 = name.rstrip("Nb") print(s3) #(4) s4 = name.strip("ab") print(s4) #(5) s5 = name.startswith("al") print(s5) #(6) s6 = name.endswith("Nb") print(s6) #(7) s7 = name.replace("l","p") print(s7) #(8) s8 = name.replace("l","p",1) print(s8) #(9) s9 = name.split("l") print(s9) #(10) s10 = name.split("l",1) print(s10) #(11) s11 = name.upper() print(s11) #(12) s12 = name.lower() print(s12) #(13) s13 = name.capitalize() print(s13) #(14) s14 = name.count("l") print(s14) #(15) s15 = name.count("l",0,4) print(s15) #(16) s16 = name.index("N") print(s16) #(17) s17 = name.find("N") print(s17) #(18) s18 = name.find("X le") print(s18) #(19) print(name[1]) #(20) print(name[0:3]) #(21) print(name[-2:]) #(22) s22 = name.find("e") print(s22) #2 s = "123a4b5c" #(1) s1 = s[0:3] print(s1) #(2) s2 = s[3:6] print(s2) #(3) s3 = s[0:8:2] print(s3) #(4) s4 = s[1:6:2] print(s4) #(5) s5 = s[7] print(s5) #(6) s6 = s[-3:-8:-2] print(s6) #3 s = "asdfer" count = 0 while count < len(s): print(s[count]) count = count + 1 for content in s: print(content) #4 for count in s: print(s) #5 s = "abcdefg" for count in s: count += "sb" print(count) #6 s = "321" for count in s: print("倒计时" + count + "秒") else: print("出发") #7 content = input("请输入内容:").replace(" ","") c = content.split("+") c1 = int(c[0]) c2 = int(c[1]) print(c1 + c2) #8 content = input("请输入内容:").strip() c = content.split("+") sum = 0 for n in c: sum += int(n) else: print(sum) #9 content = input("请输⼊内容:").strip() count = 0 b = 0 while count < len(content): c = content[count] if c.isdigit(): b += 1 count += 1 print("输入的有%s个整数" % (b)) #10 while 1: count = input("请选择回家方式(A,B,C):") if count == "A": print("走大路回家") A_1 = input("请选择公交车还是步行?") if A_1 == "公交车": print("10分钟到家") break elif A_1 == "步行": print("20分钟到家") break else: print("请重新选择") continue elif count == "B": print("走小路回家") break elif count == "C": print("绕道回家") C_1 = input("请选择游戏厅玩会,还是网吧?") if C_1 == "游戏厅": print("一个半小时到家,爸爸在家,拿棍等你") continue elif C_1 == "网吧": print("两个小时到家,妈妈已经做好了战斗准备") continue else: print("请重新选择") continue else: print("请重新选择") continue #11 num = 0 sum = 0 while num <= 99: if num == 88: pass elif num % 2 ==1: sum += num else: sum -= num num += 1 print(sum) #12 count = input("请输入一句话:") if count[::-1] == count: print("这是一段回文") else: print("这不是回文") #13 content = input("请输⼊内容:").strip() count = 0 num = 0 A_num = 0 a_num = 0 while count < len(content): c = content[count] if c.isdigit(): num += 1 elif c.isupper(): A_num += 1 elif c.islower(): a_num += 1 count += 1 print("输入的有%s个整数" % (num)) print("输入的有%s个大写字母" % (A_num)) print("输入的有%s个小写字母" % (a_num)) #14 name = input("请输入名字:") didian = input("请输入地点:") hobby = input("请输入爱好:") print("敬爱可亲的%s,最喜欢在%s地方干%s" % (name,didian,hobby)) #15 first_names = ''' 赵钱孙李,周吴郑王。 冯陈褚卫,蒋沈韩杨。 朱秦尤许,何吕施张。 孔曹严华,金魏陶姜。 戚谢邹喻,柏水窦章。 云苏潘葛,奚范彭郎。 鲁韦昌马,苗凤花方。 俞任袁柳,酆鲍史唐。 费廉岑薛,雷贺倪汤。 滕殷罗毕,郝邬安常。 乐于时傅,皮卞齐康。 伍余元卜,顾孟平黄。 和穆萧尹,姚邵湛汪。 祁毛禹狄,米贝明臧。 计伏成戴,谈宋茅庞。 熊纪舒屈,项祝董梁。 杜阮蓝闵,席季麻强。 贾路娄危,江童颜郭。 梅盛林刁,钟徐邱骆。 高夏蔡田,樊胡凌霍。 虞万支柯,昝管卢莫。 经房裘缪,干解应宗。 丁宣贲邓,郁单杭洪。 包诸左石,崔吉钮龚。 程嵇邢滑,裴陆荣翁。 荀羊於惠,甄曲家封。 芮羿储靳,汲邴糜松。 井段富巫,乌焦巴弓。 牧隗山谷,车侯宓蓬。 全郗班仰,秋仲伊宫。 宁仇栾暴,甘钭厉戎。 祖武符刘,景詹束龙。 叶幸司韶,郜黎蓟薄。 印宿白怀,蒲邰从鄂。 索咸籍赖,卓蔺屠蒙。 池乔阴鬱,胥能苍双。 闻莘党翟,谭贡劳逄。 姬申扶堵,冉宰郦雍。 卻璩桑桂,濮牛寿通。 边扈燕冀,郏浦尚农。 温别庄晏,柴瞿阎充。 慕连茹习,宦艾鱼容。 向古易慎,戈廖庾终。 暨居衡步,都耿满弘。 匡国文寇,广禄阙东。 欧殳沃利,蔚越夔隆。 师巩厍聂,晁勾敖融。 冷訾辛阚,那简饶空。 曾毋沙乜,养鞠须丰。 巢关蒯相,查后荆红。 游竺权逯,盖益桓公。 万俟司马,上官欧阳。 夏侯诸葛,闻人东方。 赫连皇甫,尉迟公羊。 澹台公冶,宗政濮阳。 淳于单于,太叔申屠。 公孙仲孙,轩辕令狐。 钟离宇文,长孙慕容。 鲜于闾丘,司徒司空。 丌官司寇,仉督子车。 颛孙端木,巫马公西。 漆雕乐正,壤驷公良。 拓跋夹谷,宰父谷梁。 晋楚闫法,汝鄢涂钦。 段干百里,东郭南门。 呼延归海,羊舌微生。 岳帅缑亢,况郈有琴。 梁丘左丘,东门西门。 商牟佘佴,伯赏南宫。 墨哈谯笪,年爱阳佟。 第五言福,百家姓终。 ''' name = input("请输入姓名:") sum = "" for c in name: sum += c if sum in first_names: print("在百家姓里") break else: print("不在百家姓里")