程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python 容器練習題

編輯:Python

一、元組練習

fruits = ("apple","banana","strawberry","pear")
#a. 1計算元組長度並輸出
a = len(fruits) #全局函數len()
print("元組長度為:",a)
print("---------------------------------")
#a.2
num = 0
for i in fruits:
num += 1
print(num)
print("---------------------------------")
# b.獲取元組第2個元素並輸出
fruit1 = fruits[2]
print(fruit1)
print("---------------------------------")
# c.獲取元素第2-3個元素並輸出
fruit2 = fruits[1:3]
print(fruit2)
print("---------------------------------")
# d.使用for循環遍歷輸出元組
for i in fruits: #i就是元組裡面的元素
print(i)
print("---------------------------------")
for i in range(len(fruits)): #通過下標取出元素
print(i,fruits[i])

二、字典練習題

dict = {
"k1":"v1","k2":"v2","k3":"v3"}
# 1、請循環遍歷出所有的key
for key in dict:
print(key)
print("---------------------------------")
# 2、請循環遍歷出所有的value
for value in dict.values():
print(value)
print("---------------------------------")
# 3、請循環遍歷出所有的key和value
for key,value in dict.items():
print(key,value)
for key in dict: #通過下標取出元素
print(key,dict[key])
print("---------------------------------")
# 4、請在字典中增加一個鍵值對,"k4":"v4",輸出添加後的字典
dict["k4"] = "v4"
dict.update({
'k4':'v4'}) #字典方法,二種都可以
print(dict)
print("---------------------------------")
# 5、請刪除字典中鍵值對"k1":"v1",並輸出刪除後的結果
del dict['k1']
print(dict)
print("---------------------------------")
# 6、請刪除字典中鍵"k5"對應的鍵值對,如果字典中不存在鍵"k5",則不報錯,返回None
re1 = 0
try:
del dict['k5']
print('刪除成功')
except:
print(None)
print("---------------------------------")
# 7、請獲取字典中"k2"對應的值
value2 = dict['k2']
# 8、請獲取字典中"k6"對應的值,如果不存在,則不報錯,並且讓其返回None。
re2 = 0
try:
print(dict['k6'])
except:
print(None)
print("---------------------------------")
# 9、現有dict2 = {"k1":"v1","a":"b"},通過一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
dict2 = {
"k1":"v1","a":"b"}
dict2.update(dict)
print(dict2)

三、集合練習題:

#1、生成了N個1~100之間的隨機整數(N<=1000),N是用戶輸入的; 對於期指其中重復的數字,只保留一個,把其余相同的數字去掉;
import random
numbers = []
num = int(input("隨機生成的數量:"))
for i in range(num):
nums = random.randint(1,100)
numbers.append(nums)
for i in range(len(numbers)): #除去重復元素
for i in numbers:
if numbers.count(i) > 1:
numbers.remove(i)
print(numbers)
print("---------------------------------")
#2、怎麼使用集合完成列表的去重操作,並將最終的列表由大到小排序輸出。
list1 = [1,1,4,5,8,7,4,5,6,7]
set1 = set(list1) #集合中自動除去重復元素,但是集合無序,不能完成排序操作
list2 = list(set1) #集合轉換為列表
lenth = len(list2)
#冒泡排序
for i in range(lenth):
for j in range(i,lenth-i):
if list2[i] > list2[j]:
list2[i] ,list2[j] = list2[j] ,list2[i]
print(list2)

四、字符串練習題 :

#1、計算用戶輸入的字符串內容中有幾個十進制數字?幾個字母? # 如:asduiaf878123jkjsfd-‐213928 數字有12個。 字母有13個
str = input("請輸入:")
num = 0
StrNumber = 0
for i in str:
if i.isdigit():
num += 1
elif i.isalpha():
StrNumber += 1
else:
pass
print(f"數字有{num}個----字母有{StrNumber}個")
print("---------------------------------")
#2、開發敏感詞語過濾程序,提示用戶輸入內容,如果用戶輸入的內容中包含特殊的字符:將敏感詞內容替換為***
a = ["hello" ,"people", "world"] #假設裡面是敏感詞
b = ''
def filter(str):
for i in a:
if i in str:
b = str.replace(i,"***",len(a))
str = input("請輸入:")
filter(str)
print(b)
print("---------------------------------")
#3、制作隨機驗證碼,不區分大小寫 流程: - 隨機產生6位驗證碼(字母數字組成) - 給用戶顯示需要輸入驗證碼 - 用戶輸入的值 - 用戶輸入的值和顯示的值相同時顯示正確的信息,否則繼續生成新的驗證碼等待用戶輸入
import random
nums=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i','j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r','s', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
while True:
Identifying_Code = ""
for i in range(6):
Identifying_Code += random.choice(nums)
print('驗證碼:',Identifying_Code)
a = input("請輸入驗證碼:")
if a.lower() == Identifying_Code.lower(): #(a.lower(),字符串方法,把字母變為小寫)
print("驗證碼正確")
break
else:
print("驗證碼錯誤")
print("---------------------------------")

五.列表練習題

# 1、一組成績67,90,-20,105,88,92,請將負分改為0,超過100的置為100,然後輸出。
arr = [67,90,-20,105,88,92]
for i in range(len(arr)):
if arr[i] > 100:
arr[i] = 100
elif arr[i] < 0:
arr[i] = 0
print(arr)
print("---------------------------------")
# 2、輸入5個學生的成績,降序輸出,並求出平均成績
arr2 = []
sum = 0
for i in range(5):
score = int(input("請輸入第"+str(i+1)+"個學生成績:"))
arr2.append(score)
arr2.sort(reverse=True) #列表方法reverse(可選參數,True為降序)
for i in arr2:
sum += i
print(arr2)
print("平均成績為:",sum/5)
print("---------------------------------")
# 3、判斷一個序列是否有序
arr3 = [12,71,2,5,4,14,6,13,1,16,18,19,9]
arr4 = [12,71,2,5,4,14,6,13,1,16,18,19,9]
a = 0
for i in range(len(arr3)-1):
for j in range(i,len(arr3)-1):
if arr3[i] < arr3[j + 1]:
a = arr3[i]
arr3[i] = arr3[j + 1]
arr3[j + 1] = a
for i in range(len(arr4)):
if arr3[i] != arr4[i]:
print('無序')
break

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved