python题目及解析_python知识点总结以及15道题的解析
先看知識點總結
一、序列
操作符
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教程項目可拿,不懂的問題多跟里面的人交流,都會解決哦!
本文的文字及圖片來源于網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。
總結
以上是生活随笔為你收集整理的python题目及解析_python知识点总结以及15道题的解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全局唯一递增的id_分布式ID生成方法-
- 下一篇: 树如何找共同祖先_如何找到任何二叉树中两