while 1 == 1:
import csv
from time import sleep
import sys
bill = 0
with open('list2.txt') as csvfile:
readCSV = csv.reader(csvfile, delimiter = ",")
GTINs = []
products = []
prices = []
for row in readCSV:
GTIN = row[0]
product = str(row[1])
price = float(row[2])
GTINs.append(GTIN)
products.append(product)
prices.append(price)
x = 1
print("Welcome to the GTIN shop!")
while x == 1:
try:
sleep(1)
print("Please input the 8 digit GTIN code")
sleep(0.5)
GTIN0 = GTIN[0]
GTIN1 = GTIN[1]
GTIN2 = GTIN[2]
GTIN3 = GTIN[3]
GTINx = input("--> ")
誤差長大這裏是在線路GTIN0 = GTIN [0]等中,「INT」對象不標化的,我不能工作了如何解決此問題,它曾經工作過。「INT」對象未標化的誤差
僅供參考,這裏是「list2.txt」。
45112454,Milk,1.29
55555555,Bread,0.49
87595376,Milkshake,1.99
下一個錯誤出現在這裏(從最後一段持續):
GTINx = input("--> ")
if GTINx == GTIN0:
product1 = products[0]
price1 = prices[0]
x = 2
elif GTINx == GTIN1:
product1 = products[1]
price1 = prices[1]
x = 2
elif GTINx == GTIN2:
product1 = products[2]
price1 = prices[2]
x = 2
elif GTINx == GTIN3: (this one is just here for if another one is added)
product1 = products[3]
price1 = prices[3]
x = 2
else:
print("Have another go")
except:
print("ERROR - Try Again")
要檢索牛奶,代碼爲7麪包的代碼是8,和奶昔,代碼9.我不知道在哪裏Python從拿到這些數字......
while x == 3:
try:
sleep(1)
print("So you would like", number, product1, "?")
sleep(0.5)
confirmation = input("Please enter \"YES\" or \"NO\": --> ")
if confirmation == ("YES") or ("Yes") or ("yes"):
x = 4
elif confirmation == ("NO") or ("No") or ("no"):
x = 1
else:
sleep(0.5)
print("Have another go")
except:
print("ERROR - Try Again")
所以,這應該結束這種循環,並送他們回到開始的,如果他們說沒有(通過,而1 == relooped 1 :)但是,它的行爲就好像他們說的那樣是的,無論輸入什麼內容。
接下來是一個類似的問題...
while x == 4:
try:
cost = price1 * number
bill = bill + cost
print("The cost is", cost)
sleep(5)
print("Would you like to purchase anything else?")
sleep(0.5)
anythingelse = input("Please enter \"YES\" or \"NO\": --> ")
sleep(1)
if anythingelse == ("YES") or ("Yes") or ("yes"):
x = 1
elif anythingelse == ("NO") or ("No") or ("no"):
x = 5
else:
sleep(0.5)
print("Have another go")
except:
print("ERROR - Try Again")
再次,它回答是,不管是什麼輸入。
對不起,我感謝任何幫助。
你可以用'anythingelse.lower()更容易檢查的情況下==「是」:'' – depperm