先看知识点总结
一、序列
操作符
x in s如果x是列表s的元素,返回True,否则False
s + t连接两个序列s和t
s*n或者n*s将序列s复制n次
s[i]返回s中第i元素
s[i:j]或s[i:j: k]切片,返回序列s中第i到j-1以k为步长的元素子序列
12345
函数
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元素为x
ls[i:j:k] =lt用lt代替从i到j-1步长为k的元素
ls += lt把lt元素加入ls中
ls*= n把ls的元素复制n次
123456789
另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
二、列表
函数
ls.append(x)把x加入列表ls中
ls.clear()删除ls中所有元素
ls.copy()生成一个新列表并赋予ls的元素
ls.insert(i.x)在第i位置家加入元素x
ls.pop(i)将列表ls中第i元素去除并删除其元素
ls.remove(x)将列表ls出现的第一个元素x删除
ls.reverse()将列表ls的元素反转
1234567
三、元组
与列表类似,但是内容不可添加或者删除,用()表示。
四、字符串
str.lower()
或者str.upper()把元素全部大写\小写
str.split(x)用x把str的元素分隔开
str.count(x)返回x在str中出现的次数
str.replace(x,y)用y替换x
str.center(width,x)将str根据宽度width居中,x填充左右部分
str.strip(x)删除str首尾的x
x.join(str)在除了最后1个元素的其他元素后增加一个str
12345678
五、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('')
1234
2、打印字符串"甲乙丙丁午己庚辛壬癸"的所有字符,要求每个字符占据一行
解题思想
这样依次打印字符串,考虑用 for循环。
代码
for c in "甲乙丙丁午己庚辛壬癸":
print(c)
12
3、循环十次在同一行内打印10个’X’
解题思想
考虑while循环,同一行用end函数换掉末尾的换行符
代码
i = 0
while i<10:
print('*', end='')
i += 1
1234
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
12345
输入分数即可得到GPA
5、计算不大于100的所有自然数的和
解题思路
for循环里面加入叠加的变量
代码
x = 0
for i in range(1,101):
x+=i
print(x)
1234
6、将字符串‘pythonlil’变成大写形式
解题思想
可用upper实现
代码
x = 'pythonlil'.upper()
print(x)
12
7、用单个for,循环十次在同一行内打印十个数字’0 1 2 3 4 5 6 7 8 9 ’
字符之间用单个空格分隔
解题思想
十个数字可以用range函数实现,通过for 循环解题
代码
for i in range(10):
print(i, end=' ')
print('')
123
8、循环十次在同一行内打印10个’=’
解题思想
看到循环应该反应用for或者while来解决
代码
for i in range(10):
print('=', end='')
print('')
123
9、打印下列图案:12个等号,每行4个
解题思想
打印重复等号用for或者while实现,换行可以用if实现
代码
for i in range(1,13):
print('=', end='')
if(i%4==0):
print('\n', end='')
1234
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('')
1234
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
1234567
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)
12345678910111213141516171819202122232425262728
13、比较[1,3,6,8,5,2,6]的大小并按照从大到小排序
解题思想
sort函数可以按照从小到大的顺序排序,题目要的是从大到小,用reverse = True可实现降序
代码
[1,3,6,8,5,2,6].sort(reverse=True)
1
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
1234567891011
使用print(wan(n))就可以得到结果
15、 创建一个1.txt文件 输入’静夜思‘
解题思想
创建py文件可以直接用with open函数 输入文字用write()实现
代码
with open('1.txt','w+') as f:
f.write('静夜思')
以上就是知识点的总结和15道例题的解析—另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。