iT邦幫忙

0

函式求解

這是主程式


dict1 = {"高麗菜":300,"A菜":40,"苦瓜":78,"小黃瓜":20}

sum1 =0
cnt = 0
list_class =[None]*100#採購順序
list_price =[None]*100#數量乘上單價
list_Num =[None]*100#各項蔬菜採購數量
for j in range(100):
    list_class[j]=0
    list_price[j]=0
    list_Num[j]=0
while True:
    Class = input("請輸入採購蔬菜")
    list_class[cnt]= Class
    if(Class=='買完'):
        print()
        break
    else: 
        Num = int(input("請輸入採購數量"))
        list_price[cnt] =Num * dict1[list_class[cnt]]
        list_Num[cnt]= Num
        sum1 =sum1 + list_price[cnt]
    cnt =cnt+1 


for i in range(cnt):
    print(list_class[i],list_Num[i],list_price[i])
print("總價",end ='')
print(sum1)

這是我要寫的兩個函式(不太完整)(vegname.py)

def veg_price():
    dict1 = {"高麗菜": 300, "A菜": 40, "苦瓜": 78, "小黃瓜": 20} 

    return dict1
def price(dictionary, dict_name, num):
    price = dictionary[dict_name]*num

    return price

最近再研究模組應用,我不知道如何將圖中的主程式改寫成(vegname.py)裡面的那兩個函式,可請大家幫我解惑嗎?謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2020-12-25 11:16:57

最近再研究模組應用

不如先研究一下如何像這樣把程式碼貼上來
用貼圖比較沒有人會回答

sum1=0
cnt=0
...
0
ccutmis
iT邦高手 2 級 ‧ 2020-12-25 15:24:03

以下是一個土法煉鋼的範例提供您參考:

  1. vegname.py
def dict_defin():
    return {"高麗菜":300,"A菜":40,"苦瓜":78}

def sub_total(dict_name,dict_key,num):
    return  dict_name[dict_key]*num
  1. test.py
from vegname import dict_defin,sub_total

veg_dict=dict_defin()
print(veg_dict) #印出 {"高麗菜":300,"A菜":40,"苦瓜":78}
print("五個高麗菜的價格為:",sub_total(veg_dict,"高麗菜",5))

3.假設vegname.py跟test.py在同一層目錄,執行test.py結果如下:

{'高麗菜': 300, 'A菜': 40, '苦瓜': 78}
五個高麗菜的價格為: 1500

建議 google "python 模組與類別" 多補充一些基礎

我要發表回答

立即登入回答