Member 12622732 Ответов: 0

Необходима программа Python


Моя программа не работает: она должна позволять пользователю вводить коды GTIN-8 для списка продуктов, которые он хочет приобрести, и количества, необходимого для каждого продукта. Программа должна выполнить поиск в файле stock, чтобы получить список
продукты с их описаниями, ценами, стоимостью для каждого выбранного количества и общей стоимостью для всех продуктов. Программа также должна идентифицировать продукты, которые не были найдены.

Что я уже пробовал:

while loop==True:
    print ("------STOCK LIST------")
    print ("a - Place an order by barcode")
    print ("b - Place an order by product name")
    print ("x - Exit")
    task=input("Please make your selection\n")
    if task.lower()=="a":
        print("------STOCK FILE LOADING------")
        myfile=open("barcode.txt", "r") #this opens the text file
        details=myfile.readlines() #reads the file and stores it as the variable 'details' #myfile.close() #closes the file
        while True:
            digits=input("Please enter your GTIN-8 code\n") 
            if len(digits) > 8 or len (digits) < 8: #if the digits are longer or shorter than 8 digits, the code is not accepted
                print("Please enter a GTIN-8 code\n") 
            else:
                break #if the code is the correct length, the loop ends
        for line in details:
            if digits in line:
                productline=line 
                myfile=open("receipt.txt", "r") #opens receipt file
                myfile.writelines("\n" + "+")
                quantity=input("How much of the product do you wish to purchase?\n")
                itemsplit=itemline.split(' ') #seperates into different words
                price=float(itemsplit[2]) #price is
                total=(price)*(quantity) #this works out the price
                myfile.writelines("Your total spent on this product is: " +str("£:,.2f)".format(total)+"\n"))
            else:
                break

OriginalGriff

"Моя программа не работает" - это не очень полезное описание ошибки.
Что он делает, чего вы не ожидали, или не делает, что вы сделали?
Какие-нибудь сообщения об ошибках?
Что вы сделали, чтобы заставить его производить продукцию?
Какая помощь вам нужна?

Member 12622732

Это не делает 2-й 3-й, если satatement, я пытался удалить перерыв, но это, кажется, не работает

Richard MacCutchan

Не используйте типы float для финансовых данных, см. https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html.

0 Ответов