python四位玫瑰数的解题思路_python知识点总结以及15道题的解析

本文介绍了Python编程的基础知识,包括序列操作、列表、元组和字符串的使用,并提供了15道练习题及解题思路,如九九乘法表、字符串操作、异常处理和数据分类等,旨在帮助学习者巩固Python编程技能。
摘要由CSDN通过智能技术生成

先看知识点总结

一、序列

操作符

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教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值