1. 程式人生 > >大家一起學python 作業

大家一起學python 作業

# 1.命名規範
# 名字別人一看就知道誰寫的
# 比如: 名字 就定義為 name ,定義學生用student
# 2、變數、函式、模組命名遵循下劃線命名法,
# 例如:student_info,my_age
# 3、類遵循大駝峰命名法。
# MyStudent

# 2.2、默寫字串12個功能,並且描述其作用。
# a=''
# a.split()#分割內容,變成列表
# a.upper()#所有字母變大寫
# a.isdigit()#判斷字串是不是數字組成
# a.replace()#替代
# a.index()#索引,沒有找到就會報錯
# a.strip()#刪除兩邊的全部空格
# a.title()#把字串中的每個英文單詞首字母變成大寫
# a.capitalize()#把字串首字母變成大寫
# a.lower()#字串英文全部小寫
# a.find()#查詢並返回對應的下標,如果沒有找到則返回-1
# a.rfind()#從右到左查詢並返回對應的下標,如果沒有找到則返回-1
# a.rindex()#從右到左索引,沒有找到就會報錯

# #3第三題
# # .#空數字,空字串,空元組,空列表,空字典
# a = 0
# b = ''
# c=()
# d=[]
# e={}
# print(bool(a),bool(b),bool(c),bool(d),bool(e))
# #第4題
# lst = [1,3,2,'a',4,'b',5,'c']
# #(1)
# lst2=lst[0:1]+lst[2:3]+lst[4:5]+lst[6:7]
# print(lst2)
# #(2)
# lst3=lst[1:2]+lst[3:4]+lst[5:6]
# print(lst3)
# #(3)
# lst4=list(lst[-1])
# print(lst4)
# #(4)
# lst5=list(lst[-3:-2])+list(lst[3:4])+list(lst[1:2])
# print(lst5)
#
# #第五題
#
# lis = [['k', ['qqq', 20, {'k1': ['aa', 3, '1']}, 33], 'xx']]
# #(1)
# lis[0][1][2]['k1'][0]='AA'
# print(lis)
#
# #(2)
# lis[0][1][2]['k1'][1]='3'
# print(lis)

# #第6題
# (1)
# dic = {'k1': 'v1', 'k2': ['sb', 'aa'], (1, 2, 3, 4, 5): {'k3': ['2', 100, 'wer']}}
# dic['k2'].append(33)
# print(dic)
# (2)
# dic['k2'].insert(0,'s')
# print(dic)
# (3)
# dic[(1,2,3,4,5)]['k4']=['v4']
# print(dic)
# (4)
# dic[(1,2,3,4,5)][(1,2,3)]='ok'
# print(dic)
# (5)
# dic[(1,2,3,4,5)]['k3'][2]='qq'
# print(dic)

# 第7題
# (1) #int值可以轉換成str,但是str轉換的前提條件是字串元素全部都是整型數
# print(str(8))#整型變字串
# print(int('123'))#字串變整型
# (2) #int值和bool值之間的相互轉化
# #除了0之外的所有bool型都是true
# print(bool(0))#false
# print(bool(1))#true
# print(int(True))#預設為1
# print(int(False))#預設為0
# (3)str 和 list
#str 轉換成list
# a = '12dsdsdfd'
# print(list(a))
# #list 轉換成str
# #如果有數字則需要全部轉成字串的形式才可以,否則報錯
# a = ['ew','fdf','fdf','fdf',123]
# b = ''.join(i for i in a)
# print(b)


# 第8題
# (1).有列表li=['aa','bb','cc'],將該列表構造成一個字串 aabbcc
# li=['aa','bb','cc']
# li = ''.join(i for i in li)
# print(li)
# (2)有列表li=['aa','bb','cc'],將該列表構造成一個字串 aa*bb*cc
# li=['aa','bb','cc']
# li = '*'.join(i for i in li)
# print(li)
# (3)有字串 s='albblcc' 將構造成一個列表 lst=[‘a’,’lbblcc’]
# s='albblcc'
# s1 = s[0]
# s2 = s[1:]
# lst=[s1,s2]
# print(lst)
# (4)有字串 s='aab bcc' 構造成列表 lst=[‘aab’,’bcc’]
# s='aab bcc'
# s1 = s.split(' ')
# print(s1)
# (5)有字串s='abcd' 將字串變成a_b_c_d。
# s='abcd'
# s='_'.join(i for i in s)
# print(s)

# 第9題:使用for迴圈和while迴圈列印1-2+3-4+5... +99 的結果。
# 用for迴圈
# num = 0
# for i in range(1,100):
#     if i %2 ==0:
#         num-=i
#     else:
#         num+=i
# print(num)
# #用while迴圈
# i = 1
# num = 0
# while i<100:
#     if i %2 ==0:
#         num-=i
#     else:
#         num+=i
#     i+=1
# print(num)

# 第10題。使用range()函式列印 100,99,98,...0
# j = 100
# for i in range(0,101):
#     print(j,end=' ')
#     j-=1

# 11、計算使用者輸入內容中索引為奇數並且對應的元素的數字的個數(沒有則個數為零)
# count=0
# a = input("請使用者輸入您所需要輸入的內容")
# for i in range(len(a)):
#     if i % 2==1:
#         if a[i].isdigit()==True:
#             count+=1
# print(count)

# 第12題有如下值li = [11, 22, 33
# , 44, 55, 77, 88, 99, 90],將所有大於66的值儲存至字
# 典的第一個key中,將小於66的值儲存至第二個key的值中。
# li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
# dict={}
# min=[]
# max=[]
# for i in li:
#     if i <66:
#         min.append(i)
#     else:
#         max.append(i)
# dict['key1']=max
# dict['key2']=min
# print(dict)

# 第13題
# 13、查詢列表中lst中的元素,移除每一個元素的空格,並且找出以’A’或者‘a’開頭,並
# 以‘c’結尾的所有元素,並新增到一個新列表中,最後迴圈列印這個新列表。
# li = ['bajie ', 'axlzC', ' AbC ', '  gsssq  ', '  bobo  ', ' dongdong ', ' aqc']
# for i in li:
#     a = i.strip()
#     if a.startswith('a') or a.startswith('A'):
#         if a.endswith('c'):
#             print(a)
# 14、整數加法計算器
'''
例如使用者輸入:5+8+21...(最少輸入2個數相加),然後進
行分割再進行計算,將最後的計算結果新增到字典中(替換None)。dic={‘最終結果’:None}
# # '''
# dic={'最終結果':None}
# print("歡迎使用計算機")
# print("此計算機只能做加法,最少輸入兩個數相加")
# a = input("請輸入")
# b=a.split('+')
#
# num=0
# for i in b :
#     i = int(i)
#     num+=i
# print(num)


'''
# 15、購買商品有商品列表 lst= ["手機", "電腦", "滑鼠墊", "遊艇"]
(1)在控制檯上顯示所有的商品,格式: 序號 商品名稱 例如: 1 手機。
(2)如果輸入Q則結束購買任務。
(3)輸入對應的序號顯示對應的商品,例如 輸入 1 顯示 手機
(4)如果輸入的不是數字,提示使用者輸入有誤。
(5)如果數字範圍不再序號範圍內,也提示使用者輸入有誤。
'''
# print("歡迎來到小超市")
# print('-------------')
# print('1--------手機')
# print('2-------電腦')
# print('3------滑鼠墊')
# print('4------遊艇')
# print('輸入Q結束購買')
# while True:
#     a = input("請輸入您需要購買商品的序號:")
#     if a.upper() == 'Q':
#         print("結束購買")
#         break
#     elif a.isdigit() == True:#(3)輸入對應的序號顯示對應的商品,例如 輸入 1 顯示 手機
#         if a=='1':
#             print("商品是:手機")
#         elif a=='2':
#             print("商品是:電腦")
#         elif a=='3':
#             print("商品是:滑鼠墊")
#         elif a=='4':
#             print("商品是:遊艇")
#         else:#(5)如果數字範圍不再序號範圍內,也提示使用者輸入有誤。
#             print("輸入有誤,請重新輸入!")
#             continue
#     else:#(4)如果輸入的不是數字,提示使用者輸入有誤。
#         print("輸入有誤!請重新輸入!")
#         continue

# 16
'''
寫程式:儲存使用者名稱和密碼。
(1).使用者名稱和密碼儲存在如下資料結構中
user_list = [
    {'username': 'zs', 'password': '1234'},
    {'username': 'ls', 'passwod': 'asdf'}
]
(3).非法字元模板board = ['zs', 'ls', 'ww']。
(4).可連續輸入使用者名稱和密碼。
(5).如果想終止程式,請輸入Q或者q。
(6).錄入使用者名稱時,如果是board裡面的非法字串,將非法字串替換成同等數量的* 例如 zs 替換成**。然後新增到user_list中
(7).每次新增成功後,打印出剛新增的使用者名稱,密碼。
'''
# user_list = []
# board = ['zs', 'ls', 'ww']  # 非法模組
# count = 0
# while True:
#     print("歡迎來到儲存使用者名稱和密碼程式")
#     print('如果退出程式,可直接在使用者名稱或者密碼中輸入Q或者q即可')
#     dict = {}
#     # 可連續輸入使用者名稱和密碼。
#     a = input("請輸入使用者名稱")
#     if a == 'q' or a == 'Q':
#         print("程式退出!")
#         break
#     b = input("程式退出!")
#     if b == 'q' or b == 'Q':
#         print("程式錯誤,請重新輸入!")
#         break
#
#     if a in board:  # 非法替換
#         c = len(a)  # 使用者名稱的長度
#         e = c * '*'  # 星星的數量
#         dict[e] = b
#         user_list.append(dict)
#         count += 1
#     else:
#         dict[a] = b
#         user_list.append(dict)
#         count += 1
#         # 每次新增成功後,打印出剛新增的使用者名稱,密碼。
#     print("剛剛您儲存的使用者和密碼是:", user_list[count - 1])
'''
17、超市買水果
(1).輸入自己所有的錢。
(2)展示商品的序號,名稱及其價格。
(3)輸入要買商品的序號。
(4)輸入要買商品的數量。
(5)購物車中顯示購買的水果名稱及其對應的數量和剩餘錢。
(6)如果序號輸入有誤就提示使用者重新輸入。
(7)如果錢不夠了提示使用者錢不夠,並且退出程式。
'''
# print("歡迎來到超市")
# #(2)展示商品的序號,名稱及其價格。
# print('-------------')
# print('1-------蘋果-----1塊錢一斤')
# print('2-------梨子-----2塊錢一斤')
# print('3------西瓜------3塊錢一斤')
# print('4------香蕉------4塊錢一斤')
# print('輸入Q或者q可結束購買')
# #(1)money = input("請輸入您錢包裡的錢:")
# money = int(input("請輸入您錢包裡的錢:"))
# gouwuche = []
# while True:
#     # (3)輸入要買商品的序號。
#     a = input("請輸入您需要購買商品的序號:")
#     if a.upper() == 'Q':
#         print("結束購買")
#         break
#     elif a.isdigit() == True:
#         if a=='1':
#             print("商品是:蘋果")
#             #(4)輸入要買商品的數量。
#             num = int(input("請輸入您要買的數量"))
#             print('您購買了',num,'斤蘋果,一共花費',num*1,'錢')#(5)購物車中顯示購買的水果名稱及其對應的數量和剩餘錢。
#             money = money-num*1
#             print("剩餘",money,"元")
#         elif a=='2':
#             print("商品是:梨子")
#             num = int(input("請輸入您要買的數量"))
#             print('您購買了',num,'斤梨子,一共花費',num*2,'錢')
#             money = money-num*2
#             print("剩餘",money,"元")
#         elif a=='3':
#             print("商品是:西瓜")
#             num = int(input("請輸入您要買的數量"))
#             print('您購買了',num,'斤西瓜,一共花費',num*3,'錢')
#             money = money-num*3
#             print("剩餘",money,"元")
#         elif a=='4':
#             print("商品是:香蕉")
#             num = int(input("請輸入您要買的數量"))
#             print('您購買了',num,'斤香蕉,一共花費',num*4,'錢')
#             money = money-num*4
#             print("剩餘",money,"元")
#         else:#(5)如果數字範圍不再序號範圍內,也提示使用者輸入有誤。
#             print("輸入有誤,請重新輸入!")
#             continue
#         if money<0:#(7)如果錢不夠了提示使用者錢不夠,並且退出程式。
#             print("你沒錢了!程式退出")
#             break
#     else:#(4)如果輸入的不是數字,提示使用者輸入有誤。
#         print("輸入有誤!請重新輸入!")
#         continue