編碼:
def NUMBER(i):
i = input("enter code: ")
minimum = 0
maxiumum = 39
if i == "END":
return False
elif int(i) > minimum and int(i) <= maximum:
return i
return True
else:
return False
def AMOUNT(q):
q = input("enter quantity: ")
minimum = 0
maxiumum = 49
if int(q) > minimum and int(q):
return True
else:
return False
number_result = NUMBER(i)
amount_result = AMOUNT(q)
def shop(i, q):
number_input = []
amount_inputed = []
NUMBER()
AMOUNT()
while True:
if i != "END":
if number_result == True and amount_result == True:
number_input.append(int(i))
amount_inputed.append(int(q))
elif number_result == True and amount_result == False:
print("Invalid Quanity")
break
elif number_result == False and amount_result == True:
print ("Invalid code")
break
else:
print("Invalid inputs")
break
return number_input,amount_inputed
def showRecord(number_input, amount_inputed):
product_info = {}
for kk in range(len(number_input)):
quan = amount_inputed[kk]
kk = number_input[kk]
price = priceList[kk]
total_price = priceList[kk] * quan
product = productList[kk]
if kk not in product_info:
product_info[kk] = [kk, quan, price, product]
else:
product_info[kk][1] = quan
product_info[kk][2] = product_info[kk][1] * price
sum_amount = product_info[kk]
print(sum_amount)
for x in ["Code", "Quanity", "Price", "Product"]:
print(x, end=" ")
print()
for x in product_info:
for info in product_info[x]:
print(info, end=" ")
print()
number_input,amount_inputed= shop(i,q)
showRecord(cod1e,code2)
shop(NUMBER(i), AMOUNT(q))
您好,我正在嘗試跨兩個單獨的函式(NUMBER 和 AMOUNT)為值 i 和 q 創建一個驗證系統。我希望函式運行 NUMBER 和 AMOUNT,如果輸入的數字有效,則繼續重復回圈,直到 i 為“END”或小于 0/大于 39。對于小于 0 的 q 大于 49。
一旦eithier/both都是False或輸入END,我想收集輸入的值并運行shop()。
我嘗試了 i 和 q 的兩個全域變數,但它沒有作業,并在它們的每個函式中定義 i 和 q 但發生了同樣的錯誤。
檔案“/Users/stev/Documents/shopping_cart.py”,第 57 行,在 number_result = NUM??BER(i) NameError: name 'i' is not defined。你的意思是:'id'?
我不知道要添加什么代碼,所以我添加了所有內容(如果不允許則洗掉我不知道需要什么代碼)。
uj5u.com熱心網友回復:
我剛剛修改了您自己的代碼以使其正常作業。雖然它可以完全改變。
def NUMBER():
i = input("enter code: ")
minimum = 0
maximum = 39
if (i=="END") or (int(i) > minimum and int(i) <= maximum) :
return i
else:
return False
def AMOUNT():
q = input("enter quantity: ")
minimum = 0
maximum = 49
if (int(q) > minimum) and (int(q)<maximum):
return q
else:
return False
def shop():
number_input = []
amount_inputed = []
while True:
number_result = NUMBER()
amount_result = AMOUNT()
if number_result=="END":
print("Canceled by user")
break
elif number_result and not(amount_result):
print("Invalid Quanity")
break
elif not(number_result) and amount_result:
print ("Invalid code")
break
elif not(number_result) and not(amount_result):
print("invalid input")
break
else:
number_input.append(int(number_result))
amount_inputed.append(int(amount_result))
return number_input,amount_inputed
number_input,amount_inputed= shop()
print("number_input:",number_input," amount inputed:",amount_inputed)
玩得開心 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/511301.html
標籤:Python列表字典变量
上一篇:飛鏢是否支持非區域變數?
