入门python知识点总结以及15道题的解题思路分析
知识点总结
一、序列
操作符
x in s 如果x是列表s的元素,返回True,否则Falses + t 连接两个序列s和ts*n或者n*s 将序列s复制n次s[i] 返回s中第i元素s[i:j]或s[i:j: k] 切片,返回序列s中第i到j-1以k为步长的元素子序列
函数
len(s) 返回序列的长度min(s) 返回序列的最小值max(s) 返回序列的最大值s.index或s.Index(x,i,j) 索引从i到j-1中第一次出现x的位置s.count(x) 返回x在s中出现的次数ls[i] = x 替换列表中第i元素为xls[i:j:k] =lt 用lt代替从i到j-1步长为k的元素ls += lt 把lt元素加入ls中ls*= n 把ls的元素复制n次
二、列表
函数
ls.append(x) 把x加入列表ls中ls.clear() 删除ls中所有元素ls.copy() 生成一个新列表并赋予ls的元素ls.insert(i.x) 在第i位置家加入元素xls.pop(i) 将列表ls中第i元素去除并删除其元素ls.remove(x) 将列表ls出现的第一个元素x删除ls.reverse() 将列表ls的元素反转
三、元组
与列表类似,但是内容不可添加或者删除,用()表示。
四、字符串
str.lower()或者str.upper() 把元素全部大写\小写str.split(x) 用x把str的元素分隔开str.count(x) 返回x在str中出现的次数str.replace(x,y) 用y替换xstr.center(width,x) 将str根据宽度width居中,x填充左右部分str.strip(x) 删除str首尾的xx.join(str) 在除了最后1个元素的其他元素后增加一个str
五、15道例题
1、用阶梯形状打印出九九乘法表
解题思想
九九乘法表需要把两个变量相乘,可考虑用for if循环
由于每次print都会自带一个换行符,所以可以考虑用end去除换行符
代码
for i in range(1,4): for j in range(1,i+1): print(i,'*',j,'=',i*j, sep='', end=' ')print('')
2、打印字符串"甲乙丙丁午己庚辛壬癸"的所有字符,要求每个字符占据一行
解题思想
这样依次打印字符串,考虑用 for循环。
代码
for c in "甲乙丙丁午己庚辛壬癸": print(c)
3、循环十次在同一行内打印10个’X’
解题思想
考虑while循环,同一行用end函数换掉末尾的换行符
代码
i = 0while i<10: print('*', end='') i += 1
4、计算绩点
若分数小于60,则GPA=0
若分数score>=60, 则 GPA=(score-50)/10
解题思想
需要分情况,所以可用if函数
代码
def GPA(score): GPA = 0 if score>=60: GPA = (score-50)/10 return GPA
输入分数即可得到GPA
5、计算不大于100的所有自然数的和
解题思路
for循环里面加入叠加的变量
代码
x = 0for i in range(1,101): x+=iprint(x)
6、将字符串‘pythonlil’变成大写形式
解题思想
可用upper实现
代码
x = 'pythonlil'.upper()print(x)
7、用单个for,循环十次在同一行内打印十个数字’0 1 2 3 4 5 6 7 8 9 ’
字符之间用单个空格分隔
解题思想
十个数字可以用range函数实现,通过for 循环解题
代码
for i in range(10): print(i, end=' ')print('')
8、循环十次在同一行内打印10个’=’
解题思想
看到循环应该反应用for或者while来解决
代码
for i in range(10): print('=', end='')print('')
9、打印下列图案:12个等号,每行4个
解题思想
打印重复等号用for或者while实现,换行可以用if实现
代码
for i in range(1,13): print('=', end='') if(i%4==0): print('\n', end='')
10、用双层for循环打印九九乘法表
解题思路
限定用两个for 一个for控制第一个变量 另一个for控制第二个变量 换行用end函数实现
代码
for i in range(1,4): for j in range(1,i+1): print(i,'*',j,'=',i*j, sep='', end=' ') print('')
11、异常处理
假设在一大堆日期数据中出现多个错误日期2019/2/29 除去这些不正确的行
解题思想
需要锁定29这个不存在二月的号数,需要用split分隔
代码(设data是日期列表)
for line in data1: linelist = line.split(',') linelist1 = linelist[1].split(' ') linelist2 = linelist1[0].split('-') linelist3 = list(linelist2) if linelist3[1] == '02' and linelist3[2] == '29' del line
12、数据分类
假设有包含1到12月的日期列表linelist 将每个月的日期分别放在不同的csv文件里面
解题思想
需要锁定月份 所以要把月份分隔开来作为分类依据
代码(设data是日期列表)
for line in data: linelist = line.split(',') linelist1 = linelist[1].split(' ') linelist2 = linelist1[0].split('-') if linelist2[1]=='01': with open('mon1.csv','a+')as f1: f1.write(line) elif linelist2[1]=='02': with open('mon2.csv','a+')as f2: f2.write(line) elif linelist2[1]=='03': with open('mon3.csv','a+')as f3: f3.write(line) elif linelist2[1]=='04': with open('mon4.csv','a+')as f4: f4.write(line) elif linelist2[1]=='05': with open('mon5.csv','a+')as f5: f5.write(line) elif linelist2[1]=='06': with open('mon6.csv','a+')as f6: f6.write(line) elif linelist2[1]=='07': with open('mon7.csv','a+')as f7: f7.write(line) elif linelist2[1]=='08': with open('mon8.csv','a+')as f8: f8.write(line)
13、比较[1,3,6,8,5,2,6]的大小并按照从大到小排序
解题思想
sort函数可以按照从小到大的顺序排序,题目要的是从大到小,用reverse = True可实现降序
代码
[1,3,6,8,5,2,6].sort(reverse=True)
14、输入一个阿拉伯整数,四位数字一组,间隔以逗号
解题思想
需要判断什么时候达到四位并进行分隔,定义一个函数 n即为输入的整数
代码
def wan(n, sep=','): n = str(n) L = len(n) lst = [] b = L%4 if b>0: lst = [n[:b],] for i in range(b,L,4): lst.append(n[i:i+4]) n = sep.join(lst) return n
使用print(wan(n))就可以得到结果
15、 创建一个1.txt文件 输入’静夜思‘
解题思想
创建py文件可以直接用with open函数 输入文字用write()实现
代码
with open('1.txt','w+') as f: f.write('静夜思')
以上就是知识点的总结和15道例题的解析
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。