Python25道題
- 1.使用字串的格式化輸出完成以下名片的顯示
- 2.使用字串的格式化輸出完成以下名片的顯示
- 3.編程實作:用戶在鍵盤中輸入自己的名字,例如“張三”,終端列印“你好,張三”
- 4.判斷下面的代碼是否寫的正確,如果不正確,請修改代碼,然后執行代碼,
- 5.撰寫程式,從鍵盤獲取用戶名和密碼,然后判斷,如果正確就輸出以下資訊: "歡迎來到博學谷!"
- 6.撰寫代碼設計簡易計算器,可以進行基本的加減乘除運算,
- 7.考試成績的問題:提示用戶輸入成績,判斷是屬于哪個水平,將結果列印到控制臺,60以下不及格,60分以上為及格,70分至80分為合格,80分至90分為良好,90分以上為優秀,
- 8. 使用while列印如下圖形
- 9.使用for回圈,依次列印字串"abcdef"中的每個字符,
- 10.請將a字串反轉并輸出,例如:'abc'的反轉是'cba'
- 11.把[1,2,3,4]轉換成"1234"
- 12.編程實作 把一個元素全為數字的串列中的所有偶數加1
- 13. test = ("a","b","c","a","c") ,統計元祖中每個元素出現的次數把最終的結果保存到串列中,例如[('a',1),('b',3),('c',5)],
- 14.題目描述
- 15.已知字串 test = "aAsmr3idd4bgs7Dlsf9eAF",將字串中的數字取出,生成一個新的字串
- 16.現有字串 msg = "hel@#KaTeX parse error: Undefined control sequence: \nhon at position 8: lo pyt \?n?h?o?n? ?ni\t hao%" ,去掉所有不是英文字母的字符,列印結果:"請理以后的結果為:hellopythonnihao"
- 17.代碼題目
- 18.代碼題
- 19.代碼題目
- 20.代碼題
- 21.代碼題
- 22.代碼題
- 23.代碼題
- 24.代碼題
- 25.代碼題
1.使用字串的格式化輸出完成以下名片的顯示
==========我的名片==========
姓名: itheima
QQ:xxxxxxx
手機號:185xxxxxx
公司地址:北京市xxxx
===========================
答案決議:
# 剛開始會基本使用print即可
print("==========我的名片==========")
print("姓名: itheima")
print("QQ:xxxxxxx")
print("手機號:185xxxxxx")
print("公司地址:北京市xxxx")
print("===========================")

2.使用字串的格式化輸出完成以下名片的顯示
==========我的名片==========
姓名: itheima
QQ:xxxxxxx
手機號:185xxxxxx
公司地址:北京市xxxx
===========================
答案決議:
# 現在學習了格式化,我們做練習主要是練習格式化
# 我們要格式的有4個一個是姓名 一個是QQ 一個是手機號 一個是地址 上下2個邊緣是固定格式
#1. 定義4個變數分別存盤4個要格式化的資料
name = "itheima"
QQ = "12345678"
phone = "1388888888"
address = "北京市xxxx"
# 2. 進行格式化輸出
# 列印上邊框
print("==========我的名片==========")
# 格式化4個變數,這里面使用了f-string方式進行的格式化,同學們也可以使用其他的格式化方式
print(f"姓名: {name}")
print(f"QQ: {QQ}")
print(f"手機號: {phone}")
print(f"地址: {address}")
#列印下邊框
print("===========================")
3.編程實作:用戶在鍵盤中輸入自己的名字,例如“張三”,終端列印“你好,張三”
答案決議:
# 這里讓我們練習input方法 所以使用input接收用戶輸入即可
# 接收輸入的名字
name = input("請輸入自己的姓名:")
# 列印名字
print(name)
4.判斷下面的代碼是否寫的正確,如果不正確,請修改代碼,然后執行代碼,
int = 100
a = "200"
b = int(a)
print(b)
答案決議:
# 這里考察的是我們對變數的認知
# python中的內置方法是一個變數你可以對其賦值,但是賦值后就不能再次當方法使用了
# 修改只需要把第一行代碼去掉即可
#int = 100 #錯誤 對內置方法進行了賦值,導致后面int方法不能使用
a = "200"
b = int(a)
print(b)
5.撰寫程式,從鍵盤獲取用戶名和密碼,然后判斷,如果正確就輸出以下資訊: “歡迎來到博學谷!”
答案決議:
# 這里面考察2個知識點 一個是input 一個是if判斷
# 從鍵盤獲取用戶名和密碼
name = input("請輸入用戶名:")
password = input("請輸入密碼:")
# and 連接2個判斷陳述句 表示2個都要相等
if name=="MrSun" and password=="123456":
print("歡迎來到博學谷")

6.撰寫代碼設計簡易計算器,可以進行基本的加減乘除運算,
答案決議:
# 這里考察的就是我們條件判斷
# 我們現實中+-*/是讓用戶來選擇的,那么我們根據用戶的選擇的操作 執行對應的行為
# 注意input 回傳的都是字串記得把數字轉int型別
num1 = int(input("請輸入第一個數字: "))
opt = input("請輸入你要執行的操作(+ - * /): ")
num2 = int(input("請輸入第二個個數字: "))
# 注意判斷的時候是雙等號
if opt=="+":
# 使用f-string格式化,效果: 1 + 2 = 3
print(f"{num1} {opt} {num2} = {num1+num2}")
elif opt=="-":
print(f"{num1} {opt} {num2} = {num1-num2}")
elif opt=="*":
print(f"{num1} {opt} {num2} = {num1*num2}")
elif opt=="/":
print(f"{num1} {opt} {num2} = {num1/num2}")
else:
print("你要執行的操作無效!")
7.考試成績的問題:提示用戶輸入成績,判斷是屬于哪個水平,將結果列印到控制臺,60以下不及格,60分以上為及格,70分至80分為合格,80分至90分為良好,90分以上為優秀,
答案決議:
# 與上面的計算器類似 主要考察input 以及 多分支判斷
# 從鍵盤獲取分數,input 回傳的是字串記得轉化成int
score = int(input("請輸入你的成績: "))
# 多分支判斷成績屬于哪個檔次
if score<60:
print("不及格")
elif 60<=score<70:
print("及格")
elif 70<=score<80:
print("合格")
elif 80<=score<90:
print("良好")
else:
print("優秀")
8. 使用while列印如下圖形
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ajdVefqt-1618231917630)(assets/1571987776670.png)]
答案決議:
# 星號先遞增值5個,然后再遞減至5個
# 可以考慮使用一個標志來控制星號的增加加和減少
# 字串可以使用乘法 '*'*5 表示 星號重復5次
#初始要列印的星號個數
num = 1
# 設定一個標志,如果true 表示要星號增加
flag = True
# 星號小于0的時候退出回圈
while num>0:
# 列印星星
print("*"*num)
# 如果星號已經到5,更改flag,下次回圈要開始減少星星
if num==5:
flag = False
# 如果flag 為true 說明星號是遞增,
if flag:
num+=1
# flag為false 說明星號開始遞減
else:
num-=1
9.使用for回圈,依次列印字串"abcdef"中的每個字符,
答案決議:
# 考察for range的用法
pstr = "abcdef"
for s in pstr:
print(s)

10.請將a字串反轉并輸出,例如:‘abc’的反轉是’cba’
答案決議:
a = "abcd"
# 方法一 使用while逆向遍歷
# 獲取字串最大的下標
index = len(a)-1
while lg>0:
print(a[index])
# 下標遞減
index-=1
# 方法二使用切片
a = [::-1]
print(a)
11.把[1,2,3,4]轉換成"1234"
答案決議:
# 考察串列遍歷,考察整數轉字串,考慮字串拼接
l = [1,2,3,4]
# 定義空字串用于拼接字串
result = ""
# 遍歷串列元素
for num in l:
# 把整數轉成字串然后拼接到result
result+=str(num)
# 列印結果
print(result)
12.編程實作 把一個元素全為數字的串列中的所有偶數加1
答案決議:
# 考察串列遍歷,以及串列元組值修改
# 遍歷可以使用for range 或者while,但是涉及到修改需要使用下標,所以采用while 加下標的方式
l = [1,2,3,4,5,6]
# 定義下標, 初始為0
index = 0
# 回圈遍歷串列元素,直至到最后一個值
while index<len(l):
# 判斷如果是偶數,對這個元素加1
if l[index]%2==0:
l[index]+=1
# 下標向后移動
index+=1
13. test = (“a”,“b”,“c”,“a”,“c”) ,統計元祖中每個元素出現的次數把最終的結果保存到串列中,例如[(‘a’,1),(‘b’,3),(‘c’,5)],
答案決議:
# 考察元組遍歷,串列元素添加,串列元素判斷,元組元素統計
test = ("a","b","c","a","c")
# 定義串列用于存盤統計結果
result = []
for s in test:
# 統計元素個數
cnt = test.count(s)
# 把統計結果拼接成('a',1)這樣的格式
tmp = (s,cnt)
# 判斷這個元素是否已統計過,如果已經在結果中說明這個元素就統計過了 繼續下一個元素
if tmp in result:
continue
else:
result.append(tmp)
# 列印統計結果
print(result)
14.題目描述
在控制臺輸入 3 組個人資訊,每個人有姓名和年齡,將資訊存入字典中,將字典存入串列,
遍歷串列,列印每個人的資訊,列印格式如下:
1 張三 20
2 李四 22
3 王五 23
答案決議:
# 考察input方法,考察enumerate方法,以及字串格式化, 考察while回圈
# 定義一個串列用于存盤所有的用戶資訊
users = []
# 定義回圈因子
i = 0
while i<3:
name = input("請輸入姓名: ")
# age 整數記得要轉化
age = int(input("請輸入年齡"))
# 把用戶資訊構造成字典,添加到串列中
users.append({"name":name,'age':age})
# 遍歷列印用戶資訊,因為要列印編號,可以考慮使用enumerate
# 注意: enumerate 方法回傳的是元素,我們需要用2個變數接收,一個是編號,一個是元素
for thnum,user in enumerate(users,start=1):
# 使用f-string快速格式化
print(f"{thnum} {user['name']} {user['age']}")
# 如果還沒學習enumerate,可以使用一個變數來表示序號
# 定義序號起始為1
thnum = 1
for user in users:
print(f"{thnum} {user['name']} {user['age']}")
# 記得把序號加1
thnum+=1

15.已知字串 test = “aAsmr3idd4bgs7Dlsf9eAF”,將字串中的數字取出,生成一個新的字串
答案決議:
# 1. 要想提取數字字符,我們需要遍歷字串
# 2. 需要知道如何判斷一個字符是否是數字,數字是有0123456789 中的字符構成,如果字符在這里面是不是就表示這個是數字呢
# 3. 把是數字的字符拼接到一起
test = "aAsmr3idd4bgs7Dlsf9eAF"
# 定義一個變數接收數字字符
result = ""
for s in test:
# 如果s在后面的字串中說明這個字符是數字字符
if s in "0123456789":
# 把數字字符添拼接到結果中
result+=s
# 列印結果
print(result)
16.現有字串 msg = “hel@#KaTeX parse error: Undefined control sequence: \nhon at position 8: lo pyt \?n?h?o?n? ?ni\t hao%” ,去掉所有不是英文字母的字符,列印結果:“請理以后的結果為:hellopythonnihao”
答案決議:
# 1. 因為要處理每個字符,所以需要遍歷字符
# 2. 如果判斷一個字符是不是英文字母,我們字串本身就有方法可以判斷 isalpha 方法
# 3. 把英文單詞拼接到一起就是我們要的
msg = "hel@#$lo pyt \nhon ni\t hao%$"
# 保存結果
result = ""
# 回圈遍歷字符
for s in msg:
# 判斷當前字符是否是字母
if s.isalpha():
# 把字符添加到結果中
result+=s
# 列印最后的結果
print(result)
17.代碼題目
定義函式findall,要求回傳符合要求的所有位置的起始下標,如字串"helloworldhellopythonhelloc++hellojava",
需要找出里面所有的"hello"的位置,回傳的格式是一個元組,即:(0,10,21,29)
答案決議:
#1. 因為要查找位置,所以要遍歷字串
#2. 因為要查找多個字符,所以需要使用切邊提取固定的字符
#3. 把查找到的位置保存到結果串列中
#4. 題目要求是個元組所以再轉化成元組
# src: 原始字串,dst: 要查找的字串
def findall(src,dst):
# 獲取字符長度,用去截取字符
lg = len(dst)
# 保存查找的下標
res = []
#遍歷字符通過下標
for index in range(lg):
# 截取與dst相同的字符如果相等說明 位置ok
if src[index:index+lg]==dst:
# 把當前位置添加到結果集中
res.append(index)
# 把結果轉化成元組回傳
return tuple(res)
s = "helloworldhellopythonhelloc++hellojava"
print(findall(s))
18.代碼題
定義一個函式 sum_test 接收一個引數 n ,在函式中計算 1 + 2 + 3 + … + n 的值,并列印結果,
答案決議:
def sum_test(n):
# 保存結果
sum = 0
# 回圈因子
i = 1
#回圈累加
while i<=n:
# 累加結果
sum+=i
# 增加回圈因子
i+=1
print(sum)
num = 10
sun_test(num)
19.代碼題目
使用不定長引數定義一個函式max_min,接受的引數型別是數值,最侄訓傳這些數中的最大值和最小值
答案決議:
# 考察不定長引數定義,與傳遞,以及遍歷求大小值
def max_min(*args):
# 定義最大、最小值,把元素的第一個值作為最大值與最小值,然后與后面的其他值比較
max = args[0]
min = args[0]
for num in args:
# 如果max 小于num 那么max更新為num
if max<num:
max = num
# 如果min 大于num說明num小,則更新min
if min>num:
min = num
return max,min
max,min = max_min(5,2,7,1,7,8,9,10)
print(f'max = {max},min = {min}')

20.代碼題
把一個檔案中的內容,復制到另外一個檔案中,
答案決議:
# src 源檔案路徑,dst目標檔案路
def copy(src,dst):
# 打開src檔案
# 讀的方式打開src
fr = open(src,'r')
# 寫的方式打開dst
fw = open(dst,'w')
# 把src的內容寫入到dst中
fw.write(fr.read())
# 關閉檔案
fr.close()
fw.close()
print('檔案拷貝完成')
copy("1.txt",'2.txt')
21.代碼題
使用os模塊,把檔案夾中的所有檔案重命名,例如,當前test目錄下所有的檔案名開頭添加new_這個字串,
答案決議:
# 檔案分為2類一個是檔案一個是目錄
# 處理的時候需要判斷是檔案還會目錄
import os
#file_dir 要重命名那個檔案夾下面的檔案
def rename(file_dir):
# 獲取當前檔案下面的所有檔案【包含目錄和檔案】
files = os.listdir(file_dir)
# 遍歷獲取所有檔案與目錄
for file in files:
# 拼接獲取完整的檔案路徑
filename = os.path.join(file_dir,file)
# 判斷如果是檔案則重命名
if os.path.isfile(filename):
# 獲取完成的新的檔案路徑名字
new_name = os.path.join(file_dir,"new_"+file)
os.rename(filename,new_name)
else: # 如果不是檔案說明是個目錄
#如果是目錄則遞回呼叫繼續 對子目錄中的檔案進行重命名
rename(filename)
# 測驗
rename('D:\test')
22.代碼題
定義一個水果類,然后通過水果類,創建蘋果物件、橘子物件、西瓜物件并分別添加屬性:顏色和價格
答案決議:
# 1.我們要區分是水果,需要有一個水果型別
# 2. 顏色和價格是物件屬性
# 3. 魔法方法__str__ 便于格式化列印物件
class Fruit():
def __init__(self, fruit_type):
# 創建的時候指定創建什么型別的水果
self.type = fruit_type
self.color = None
self.price = None
# 設定顏色
def Set_color(self,color):
self.color = color
# 設定價格
def Set_price(self,price):
self.price = price
def __str__(self):
if self.color is None or self.price is None:
return "水果價格和顏色沒有設定!"
else:
return f'{self.type}: color--{self.color} price--{self.price}元 '
# 創建蘋果
apple = Fruit("蘋果")
apple.Set_color('red')
apple.Set_price(5)
print(apple)
# .... 其他自己創建
23.代碼題
定義一個電腦類,電腦有品牌,有價格,能放電影,分別創建2個物件"聯想電腦" 和 “蘋果電腦”,呼叫放電影的動作,聯想電腦播放 電影"葫蘆娃",蘋果電腦播放"黑貓警長",
答案決議:
# 1. 電腦類,為了區別種類我們需要有一個 電腦型別type
# 2. 電腦能播放電影,有play方法,電影因為不屬于電腦的,所以我們可以把電影當成引數傳遞
class Computer():
def __init__(self,ctype):
# 初始化電腦的型別,例如聯想
self.type = ctype
# 播放電影的行為
def play(self,film):
print(f"{self.type} 播放了 {film}!")
levoe = Computer("聯想")
levoe.play("貓和老鼠")
# 其他電腦自己創建
24.代碼題
撰寫一段代碼以完成下面的要求:
定義一個Person類,類中要有初始化方法,方法中要有人的姓名和年齡屬性
將類中的姓名是公有屬性,年齡是私有屬性.
提供獲取私有屬性的公有方法 get_age方法.
提供可以設定私有屬性的方法 set_age方法,要求如果輸入的年齡在 0 – 100 之間,設定年齡,否則,提示輸入不正確,.
重寫 str 要求列印物件時,把 姓名和年齡都列印出來,
答案決議:
class Person():
def __init__(self, name,age):
# 創建的時候指定創建什么型別的水果
self.name = name
# 私有屬性
self.__age = age
# 獲取年齡,因為年齡是私有屬性所以要提供物件的方法獲取
def Get_age(self):
return self.__age
# 設定年齡,因為年齡是私有屬性所以要提供物件的方法進行修改
def Set_age(self,age):
self.__age = age
# 重新__str__ 便于列印格式化
def __str__(self):
return f'name: {self.name}, age:{self.__age}'
# 測驗代碼
laowang = Person('laowang',50)
print(laowang)
laowang.Set_age(60)
print(laowang.Get_age())
print(laowang)

25.代碼題
【代碼題】
按照如下的要求撰寫代碼:
- 定義 input_password 函式,提示用戶輸入密碼
- 如果用戶輸入長度 < 8,拋出例外
- 如果用戶輸入長度 >=8,回傳輸入的密碼
答案決議
# 無引數,回傳用戶校驗后的面
def input_password():
password = input("請輸入密碼: ")
if len(password)<8:
# 如果密碼長度小于8位 拋出例外
raise Exception("密碼長度至少8位")
else:
return password
input_password()
以上分享是我學程序中看了很多的教程之后篩選出來的適合新手快速學python的教程,少即是多,按照教程方向,入們門到精通不是問題,如果你也想掌握一門門技能就從現在開始學讓自己變得更好吧,通通無償分享給你們!免費自取!●:關十后臺call“學習”●:評論:Python,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/275485.html
標籤:python
