1. 程式人生 > >作業—數據類型8.20

作業—數據類型8.20

根據 得到 創建 pass dbo 姓名 for 循環 用戶輸入 列表

1、寫代碼,有如下變量,請按照要求實現每個功能
name = " aleX"
a. 移除name變量對應的值兩邊的空格,並輸出移除後的內容

name = " aleX"
value = name.strip()
print(name)
print(value)

b.判斷name變量對應的值是否以"al"開頭,並輸出結果
name = " aleX"
value =name[0:2]
a =bool(value=="al")
print(a)
c.判斷name變量對應的值是否以"X"結尾,輸出結果

name = " aleX"

value = name[-1]
a = bool(value=="X")
print(a)
d.將name變量對應的值中的“l”替換為“p”,並輸出結果
name = " aleX"
vale = name.replace("l","p")
print(vale)
e.將name變量對應的值根據“l”分割,並輸出結果。
name = " aleX"
value = name.split("l")
print(value)
f.請問,上一題e分割之後得到值是什麽類型(可選)?
name = " aleX"
value = name.split("e")
print(value)
g.將name變量對應的值變大寫,並輸出結果
name = " aleX"
value = name.upper()
print(name,value)
h.將name變量對應的值變小寫,並輸出結果
name = " aleX"
value = name.lower()
print(name,value)

i.請輸出name變量對應的值的第2個字符?
name = " aleX"
value = name[2]
print(value)

j.請輸出name變量對應的值的前3個字符?
name = " aleX"
value = name[3]
print(value)
k.請輸出name變量對應的值的後2個字符?
name = " aleX"
value = name[3:]
print(value)
l.獲取子序列,僅不包含最後一個字符。如:oldboy則獲取oldbo; root則獲取roo
name = " aleX"
value = name[0:4]
print(value)

2、寫代碼:使用While和For循環分別打印字符串每個元素。
# v = "asdadad"
# for i in v:
# print(i)
# i = 0
# v = "asdadad"
# value = len(v)
# while i < value:
# print(v[i])
# i = i+1

3、請用代碼實現:li = [‘alex’,’eric’,’rain]利用下劃線將列表的每一個元素拼接成字符串"alex_eric_rain"

li = [‘eric‘,‘alex‘,‘rain‘]

v = "_".join(li)

print(v)

4、實現一個整數加法計算器:如:content = input‘請輸入內容:‘) #如用戶輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算

content = input(‘>>>‘) # 5+9 a,b = content.split(‘+‘)

a = int(a) b = int(b)

print(a+b)

5、計算用戶輸入的內容中有幾個整數?如:content = input(‘請輸入內容:‘)
# #如:asduiaf878123jkjsfd-213928

content = input(‘>>>‘) # sdfsdf123sdf123
val = 0
for count in content:
if count.isdecimal():
val += 1

6、制作趣味模板程序
# 需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意現實
# 如:敬愛可親的xxx,最喜歡在xxx地方幹xxx

name = input(‘請輸入姓名:‘)
age = input(‘請輸入地點:‘)

hobby = input(‘請輸入愛好:‘)
msg = "我叫%s,最喜歡在%s地方幹%s"%(name,age,hobby)
print(msg)

7、制作隨機驗證碼,不區分大小寫。流程:
# -用戶執行程序
# -給用戶顯示需要輸入的驗證碼
# -用戶輸入的值用戶輸入的值和顯示的值相同時現實正確信息;否則繼續生成隨機驗證碼繼續等待用戶輸入生成隨機驗證碼代碼示例:

while True:
def check_code():
import random
checkcode = ‘‘
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
return checkcode
code = check_code()
print(code)
d = input(‘請輸入驗證碼‘)
i = d.upper()
if i == code:
print(‘驗證成功‘)
break
else :
print(‘驗證失敗請重新輸入‘)

8、開發敏感詞語過濾程序,提示用戶輸入內容,如果用戶輸入的內容中包含特殊的字符:
# 如敏感詞列表li = ["蒼老師","東京熱"],則將用戶輸入內容中出現任意敏感字符串替換為***

li= [‘東京熱‘,‘蒼老師‘]
a = input(‘請輸入內容:\n‘)
for item in li :
if item in a:
a = a.replace(item,‘***‘)
print(a)

9、 查找列表中元素,移除每個元素的空格,並查找以a 或 A開頭並且以c結尾的所有元素。li = ["alec", " aric", "Alex", "Tony", "rain"] tu = ("alec", " aric", "Alex", "Tony", "rain") dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}
for item in li:
item = item.strip()
if (item.startswith(‘a‘) or item.startswith(‘A‘)) and item.endswith(‘c‘):
print(item)
for ite in tu:
ite = ite.strip()
if (ite.startswith(‘a‘) or ite.startswith(‘A‘)) and ite.endswith(‘c‘):
print(ite)
for it in dic.values():
it = it.strip()
if (it.startswith(‘a‘) or it.startswith(‘A‘)) and it.endswith(‘c‘):

10、寫代碼,有如下列表,按照要求實現每一個功能 li = [‘alex‘, ‘eric‘, ‘rain‘]

a. 計算列表長度並輸出
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = len(li)
print(v)
b. 列表中追加元素 “seven”,並輸出添加後的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘seven‘
li.append(v)
print(li)
c. 請在列表的第 1 個位置插入元素 “Tony”,並輸出添加後的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘Tony‘
li.insert(0,v)
print(li)
d. 請修改列表第2個位置的元素為 “Kelly”,並輸出修改後的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘kelly‘
del li[1]
li.insert(1,v)
print(li)
f. 請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
print(‘刪除的元素值為%s‘%(li[1]))
del li[1]
print(li)
g. 請刪除列表中的第3個元素,並輸出刪除元素後的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
del li[2]
print(li)
h. 請刪除列表中的第2 至 4 個元素,並輸出刪除元素後的列表
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
del li[1:5]
print(li)
i. 請將列表所有的元素反轉,並輸出反轉後的列表
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
li.reverse()
print(li)
j. 請使用 while、len 輸出列表的索引值,如:0,1,2,3,4…
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
while True:
print(len(li)-1)
break
l. 請使用 for 循環輸出列表的所有元素
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
for item in li:
print(item)

11、 寫代碼,有如下列表,請按照功能要求實現每一個功能 li = ["hello", ‘seven‘, ["mon", ["h", "kelly"], ‘all‘], 123, 446]
a. 請根據索引輸出 “Kelly”
li = ["hello", ‘seven‘,["mon",["h","kelly"],‘all‘],123,446]
print(li[2][1][1])
b. 請使用索引找到 ‘all‘ 元素並將其修改為 “ALL”,如:li[0][1][9]...
li = ["hello", ‘seven‘,["mon",["h","kelly"],‘all‘],123,446]
print(li[2][2])
li[2][2] = li[2][2].upper()
print(li)

12、 寫代碼,有如下元組,按照要求實現每一個功能 tu = (‘alex‘, ‘eric‘, ‘rain‘)
a. 計算元組長度並輸出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(len(tu))
b. 獲取元組的第 2 個元素,並輸出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(tu[1])
c. 獲取元組的第 1-2 個元素,並輸出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(tu[0:2])
d. 請使用 for 輸出元組的元素
tu = (‘alex‘, ‘eric‘, ‘rain‘)
for item in tu:
print(item)
e. 請使用 while、len 輸出元組的索引值,如:0、1、2、3..
tu = (‘alex‘, ‘eric‘, ‘rain‘)
i = 0
while True:
if i < len(tu):
print(i)
i = i + 1
else:
break

13、有如下變量,請實現要求的功能tu=("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 講述元祖的特性
元祖不能改變
b. 請問 tu 變量中的第一個元素 “alex” 是否可被修改?
不能
c. 請問 tu 變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”
list
tu=("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
print(type(tu[1][2][‘k2‘]))
tu[1][2][‘k2‘] = "age", "name",‘7‘
print(tu)
d. 請問 tu 變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”
tuple
不能修改

14、購物車功能要求:要求用戶輸入自己擁有總資產,例如:2000顯示商品列表,讓用戶根據序號選擇商品,加入購物車
# 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。
# goods = [{"name": "電腦", "price": 1999},{"name": "鼠標", "price": 10},{"name": "遊艇", "price": 20},{"name":
# "美女", "price": 998},]

m = input("請輸入總資產:")
ss = 0
h = 0
mun = 0
while ss < 4:
print("商品序號%d,商品名稱%s,商品價格%s" %(ss+1,v[ss]["name"],v[ss]["price"]))
ss += 1
while True:
msg = input("請輸入序號1—4將物品加入購物車,輸入q結算金額")# SDF 123
# msg.lower().strip()
if msg.lower().strip() == "q":
break
elif msg.isdecimal() == False:
print("你輸入的格式錯誤,請重新輸入")
elif int(msg) not in range(1,5):
print("您輸入有誤,請重新輸入")
else:
h = int(v[int(msg)-1]["price"])
mun += h
print("您輸入的名稱為%s,預計花費總金額%d" %(v[int(msg)-1]["name"],mun))
if mun > int(m):
print("余額不足,請充值")
else:
print("購買成功")

15、分頁顯示內容
# a.通過for循環創建301條數據,數據類型不限,如:
# alex-1 [email protected] [email protected] pwd2
# alex-3 [email protected] pwd3...
# PS:可使用while循環自己創建user_list= []循環,創建字典{‘’:’xxx’,
# ‘email’:’xxx’,’pwd’:’xxxx’},將創建的字典追加到列表中。
# b.提示用戶請輸入要查看的頁碼,當用戶輸入指定頁碼,則顯示指定數據註意:
# -每頁顯示10條數據
# -用戶輸入頁碼是非十進制數字,則提示輸入內容格式錯誤

user_list = []

i = 0

while i <= 300:

   name = "alex - %d" %(i+1)

   eml = "alex%[email protected]"%(i+1)

   pwd = "pwd%d"%(i+1)

   dict = {}

   dict["username"] = name

   dict["emal"] = eml

   dict["password"] = pwd

   user_list.append(dict)

   i += 1

for data in user_list:

    print(data)

while True:

  user_choice = input("請輸入頁碼:")

  user_choice.strip()

  if user_choice.isdecimal():

    user_choice = int(user_choice)

    if user_choice > 0 and user_choice <= int(len(user_list)/10+1):

        min = user_choice * 10 - 10

        max = user_choice * 10 - 1

        if max > 300:

          max = 300

        start = min

        while start <= max:

          print(user_list[start])

          start += 1

     else:

      print("你輸入的頁碼不存在")

     else:

       print("請重新輸入")

作業—數據類型8.20