python知識點總結以及15道題的解析

来源:https://www.cnblogs.com/chengxuyuanaa/archive/2019/12/28/12112847.html
-Advertisement-
Play Games

先看知識點總結 一、序列操作符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為步長的元素子序列12345函數len(s) 返 ...




先看知識點總結


一、序列
操作符
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教程項目可拿,不懂的問題多跟裡面的人交流,都會解決哦!

本文的文字及圖片來源於網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.DateTimeFormatter final修飾,線程安全,用於列印和解析日期-時間對象的格式化程式。 創建DateTimeFormatter: DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM ...
  • 本文旨在免費分享我所搜集到的Java學習資源,所有資源都是通過正規渠道獲取,不存在侵權。現在整理分享給有所需要的人。 希望對你們有所幫助!有新增資源我會更新的~大家有好的資源也希望分享,大家互幫互助共同進步! 鏈接有失效的請聯繫我更新,歡迎加入分享資源,分享交流技術知識,謝謝! 歡迎大家點贊轉載,轉 ...
  • Maven是個很好用的依賴管理工具,但是再好的東西也不是完美的。 ...
  • 近期的flink作業中,需要對上傳的日誌數據進行大量的校驗。 校驗規則大多比較簡單,僅為字元串長度,數組長度,數據的最大值和最小值,非空判斷等。然而不想寫諸多校驗代碼,容易導致代碼又醜又繁瑣。聯想SpringBoot項目中的參數校驗,於是想著在純maven的項目中引入校驗。 引入依賴 SpringB ...
  • 垃圾回收與記憶體分配策略 "垃圾回收與記憶體分配策略" "“垃圾”的定義" "對象是否為“垃圾”" "何為“引用” 四種引用類型" "最後的掙扎 finalize()方法" "回收方法區" "垃圾回收演算法" "回收的前置 分代理論" "標記 清除演算法(Mark Sweep)" "標記 複製演算法" "標記 ...
  • 1. 我們打開一個空的IDEA 2. 選擇Java之後點擊Next 3. 點擊Next創建空白工程 4. 給工程取個名字,叫MYIDEA 5. 勾選之後,點擊This Window按鈕 6. 我們可以看到,有了一個MYIDEA的工程 7. 我們在MYIDEA上右鍵新建一個Module 8. 選擇Sp ...
  • 本篇文章我們來講講PHP四大框架的優缺點都有哪些,讓你們在開發中更好的去選擇使用哪款PHP框架去完成項目,廢話不多說,我們一起來看看吧!! ThinkPHP ThinkPHP(FCS)是一個輕量級的中型框架,是從Java的Struts結構移植過來的中文PHP開發框架。它使用面向對象的開髮結構和MVC ...
  • 1、主題 介紹如果通過Pycharm使用本地Git集。 2、準備工作 (1)PyCharm版本為2.7或更高 (2)已經創建一個工程 (3)Git插件可用,對應可執行文件在 Git page頁面正確配置 3、創建一個Git集 按下Alt+`顯示常用的VCS命令(也可以通過主菜單VCS→VCS Ope ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...