1
This commit is contained in:
		@@ -0,0 +1,195 @@
 | 
				
			|||||||
 | 
					# Getränke und Snackautomat
 | 
				
			||||||
 | 
					# Uses database to store the products and the amount of money
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Imports
 | 
				
			||||||
 | 
					import sqlite3
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import time
 | 
				
			||||||
 | 
					import datetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Make a new database
 | 
				
			||||||
 | 
					conn = sqlite3.connect('Getränkeautomat.db')
 | 
				
			||||||
 | 
					c = conn.cursor()
 | 
				
			||||||
 | 
					# Create a table for the products
 | 
				
			||||||
 | 
					c.execute("CREATE TABLE IF NOT EXISTS products (id INTEGER PRIMARY KEY, name TEXT, price REAL)")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Make an admin mode to add new products and change the price and add an id
 | 
				
			||||||
 | 
					def admin_mode():
 | 
				
			||||||
 | 
					    weiter_admin=True
 | 
				
			||||||
 | 
					    while (weiter_admin==True):
 | 
				
			||||||
 | 
					        # Print the admin menu
 | 
				
			||||||
 | 
					        print("1. Add Product")
 | 
				
			||||||
 | 
					        print("2. Change Price")
 | 
				
			||||||
 | 
					        print("3. Delete Product")
 | 
				
			||||||
 | 
					        # Ask for the user input
 | 
				
			||||||
 | 
					        admin_input=input("Please choose an option: ")
 | 
				
			||||||
 | 
					        # Check if the input is a number
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            admin_input=int(admin_input)
 | 
				
			||||||
 | 
					        except ValueError:
 | 
				
			||||||
 | 
					            print("Please enter a number")
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        # Check if the input is in the range of the admin menu
 | 
				
			||||||
 | 
					        if (admin_input<1 or admin_input>4):
 | 
				
			||||||
 | 
					            print("Please enter a number between 1 and 4")
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        # Add a new product
 | 
				
			||||||
 | 
					        # Ask for the product name
 | 
				
			||||||
 | 
					        # Ask for the product price
 | 
				
			||||||
 | 
					        # Ask for the product id
 | 
				
			||||||
 | 
					        # Add the product to the database
 | 
				
			||||||
 | 
					        if (admin_input==1):
 | 
				
			||||||
 | 
					            product_name=input("Please enter the product name: ")
 | 
				
			||||||
 | 
					            product_price=input("Please enter the product price: ")
 | 
				
			||||||
 | 
					            product_id=input("Please enter the product id: ")
 | 
				
			||||||
 | 
					            c.execute("INSERT INTO products (name, price, id) VALUES (?, ?, ?)", (product_name, float(product_price), int(product_id)))
 | 
				
			||||||
 | 
					            conn.commit()
 | 
				
			||||||
 | 
					            print("Product added")
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        # Change the price of a product
 | 
				
			||||||
 | 
					        # Ask for the product id
 | 
				
			||||||
 | 
					        # Ask for the new price
 | 
				
			||||||
 | 
					        # Change the price in the database
 | 
				
			||||||
 | 
					        # Print the old price and the new price
 | 
				
			||||||
 | 
					        if (admin_input==2):
 | 
				
			||||||
 | 
					            product_id=input("Please enter the product id: ")
 | 
				
			||||||
 | 
					            new_price=input("Please enter the new price: ")
 | 
				
			||||||
 | 
					            c.execute("UPDATE products SET price=? WHERE id=?", (float(new_price), int(product_id)))
 | 
				
			||||||
 | 
					            conn.commit()
 | 
				
			||||||
 | 
					            print("Old price: " + str(c.execute("SELECT price FROM products WHERE id=?", (int(product_id),)).fetchone()[0]))
 | 
				
			||||||
 | 
					            print("New price: " + str(new_price))
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        # Delete a product
 | 
				
			||||||
 | 
					        # Ask for the product id
 | 
				
			||||||
 | 
					        # Delete the product from the database
 | 
				
			||||||
 | 
					        if (admin_input==3):
 | 
				
			||||||
 | 
					            product_id=input("Please enter the product id: ")
 | 
				
			||||||
 | 
					            c.execute("DELETE FROM products WHERE id=?", (int(product_id),))
 | 
				
			||||||
 | 
					            conn.commit()
 | 
				
			||||||
 | 
					            print("Product deleted")
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        # Ask if the user wants to continue in the admin mode
 | 
				
			||||||
 | 
					        if (admin_input==4):
 | 
				
			||||||
 | 
					            weiter_admin=False
 | 
				
			||||||
 | 
					            normal_mode()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Make the normal operation mode
 | 
				
			||||||
 | 
					def normal_mode():
 | 
				
			||||||
 | 
					    print("Willkommen beim Getränke und Snackautomat")
 | 
				
			||||||
 | 
					    print("Drücken Sie 1 um zu starten")
 | 
				
			||||||
 | 
					    print("Drücken 2 um zum Adminmodus zu wechseln")
 | 
				
			||||||
 | 
					    print("Drücken 3 um das Programm zu beenden")
 | 
				
			||||||
 | 
					    # Ask for the user input
 | 
				
			||||||
 | 
					    user_input=input("Please choose an option: ")
 | 
				
			||||||
 | 
					    # Check if the input is a number
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        user_input=int(user_input)
 | 
				
			||||||
 | 
					    except ValueError:
 | 
				
			||||||
 | 
					        print("Bitte geben Sie eine Nummer ein")
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    # Check if the input is in the range of the admin menu
 | 
				
			||||||
 | 
					    if user_input==2:
 | 
				
			||||||
 | 
					        # Ask for the admin password
 | 
				
			||||||
 | 
					        admin_password=input("Please enter the admin password: ")
 | 
				
			||||||
 | 
					        # Check if the password is correct
 | 
				
			||||||
 | 
					        if (admin_password=="admin"):
 | 
				
			||||||
 | 
					            # Start the admin mode
 | 
				
			||||||
 | 
					            admin_mode()
 | 
				
			||||||
 | 
					            return
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            print("Wrong password")
 | 
				
			||||||
 | 
					            return
 | 
				
			||||||
 | 
					    if user_input==3:
 | 
				
			||||||
 | 
					        # Exit the program
 | 
				
			||||||
 | 
					        sys.exit()
 | 
				
			||||||
 | 
					    if user_input==1:
 | 
				
			||||||
 | 
					        sum_of_price=0
 | 
				
			||||||
 | 
					        normal_continue=True
 | 
				
			||||||
 | 
					        while (normal_continue==True):
 | 
				
			||||||
 | 
					            # Print all the products and their price and the id of the product
 | 
				
			||||||
 | 
					            for row in c.execute("SELECT * FROM products"):
 | 
				
			||||||
 | 
					                print(row)
 | 
				
			||||||
 | 
					            # Ask for the product id
 | 
				
			||||||
 | 
					            product_id=input("Bitte Nummer des gewünschten Produktes eingeben: ")
 | 
				
			||||||
 | 
					            # Check if the product id is in the database
 | 
				
			||||||
 | 
					            if (c.execute("SELECT * FROM products WHERE id=?", (int(product_id),)).fetchone()==None):
 | 
				
			||||||
 | 
					                print("Product nicht gefunden")
 | 
				
			||||||
 | 
					                return
 | 
				
			||||||
 | 
					            # Get the price of the product
 | 
				
			||||||
 | 
					            product_price=c.execute("SELECT price FROM products WHERE id=?", (int(product_id),)).fetchone()[0]
 | 
				
			||||||
 | 
					            # Ask the amount of the product
 | 
				
			||||||
 | 
					            product_amount=int(input("Bitte Anzahl des Produktes Eingeben: "))
 | 
				
			||||||
 | 
					            sum_of_price=product_price*product_amount
 | 
				
			||||||
 | 
					            # Print the price of the sum
 | 
				
			||||||
 | 
					            print("Summe:%s€" % sum_of_price)
 | 
				
			||||||
 | 
					            # Ask if the user wants to continue
 | 
				
			||||||
 | 
					            if (input("Weiter Einkaufen? (j/n): ")=="n"):
 | 
				
			||||||
 | 
					                normal_continue=False
 | 
				
			||||||
 | 
					                payment(sum_of_price)
 | 
				
			||||||
 | 
					                return
 | 
				
			||||||
 | 
					# Define a function to handle the payment
 | 
				
			||||||
 | 
					def payment(sum_of_price):
 | 
				
			||||||
 | 
					    # Print the price of the sum
 | 
				
			||||||
 | 
					    print("Summe: %s€" % sum_of_price)
 | 
				
			||||||
 | 
					    # Ask for the money put in the machine
 | 
				
			||||||
 | 
					    money_in_machine=input("Bitte Geld eingeben: ")
 | 
				
			||||||
 | 
					    # Check if the money is a number
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        money_in_machine=int(money_in_machine)
 | 
				
			||||||
 | 
					    except ValueError:
 | 
				
			||||||
 | 
					        print("Bitte geben Sie eine Nummer ein")
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    # Check if the money is enough
 | 
				
			||||||
 | 
					    if (money_in_machine<sum_of_price):
 | 
				
			||||||
 | 
					        print("Zu wenig Geld")
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    # Print the change
 | 
				
			||||||
 | 
					    print("Rückgeld: %s€" % (money_in_machine-sum_of_price))
 | 
				
			||||||
 | 
					    # Stückelung
 | 
				
			||||||
 | 
					    rest_euro=money_in_machine-sum_of_price
 | 
				
			||||||
 | 
					    rest_cent=rest_euro*100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 10 Euro
 | 
				
			||||||
 | 
					    rest_euro_10=rest_cent//10000
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_euro_10*10000
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # 5 Euro
 | 
				
			||||||
 | 
					    rest_euro_5=rest_cent//5000
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_euro_5*5000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 2 Euro
 | 
				
			||||||
 | 
					    rest_euro_2=rest_cent//2000
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_euro_2*2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 1 Euro
 | 
				
			||||||
 | 
					    rest_euro_1=rest_cent//1000
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_euro_1*1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 50 Cent
 | 
				
			||||||
 | 
					    rest_cent_50=rest_cent//500
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_cent_50*500
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 20 Cent
 | 
				
			||||||
 | 
					    rest_cent_20=rest_cent//200
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_cent_20*200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 10 Cent
 | 
				
			||||||
 | 
					    rest_cent_10=rest_cent//100
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_cent_10*100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 5 Cent
 | 
				
			||||||
 | 
					    rest_cent_5=rest_cent//50
 | 
				
			||||||
 | 
					    rest_cent=rest_cent-rest_cent_5*50
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    print ("10 Euro: %s" % rest_euro_10)
 | 
				
			||||||
 | 
					    print ("5 Euro: %s" % rest_euro_5)
 | 
				
			||||||
 | 
					    print ("2 Euro: %s" % rest_euro_2)
 | 
				
			||||||
 | 
					    print ("1 Euro: %s" % rest_euro_1)
 | 
				
			||||||
 | 
					    print ("50 Cent: %s" % rest_cent_50)
 | 
				
			||||||
 | 
					    print ("20 Cent: %s" % rest_cent_20)
 | 
				
			||||||
 | 
					    print ("10 Cent: %s" % rest_cent_10)
 | 
				
			||||||
 | 
					    print ("5 Cent: %s" % rest_cent_5)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					normal_mode()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										14
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/Beipielautomat.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/Beipielautomat.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					# Getränkeautomat
 | 
				
			||||||
 | 
					- Auswahl 
 | 
				
			||||||
 | 
					  - Cola (1,50€)
 | 
				
			||||||
 | 
					  - Wasser (1,00€)
 | 
				
			||||||
 | 
					  - Saft (2,00€)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Anzahl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Weiteres Getränk?
 | 
				
			||||||
 | 
					  - Ja (von vorne)
 | 
				
			||||||
 | 
					  - Nein (Ausgabe Preis)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Ausgabe Preis
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
							
								
								
									
										45
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/Beispielautomat.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/Beispielautomat.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					 # Programm, welches einen Getränkeatuomat simuliert
 | 
				
			||||||
 | 
					weiter_machen = True
 | 
				
			||||||
 | 
					gesamtpreis = 0
 | 
				
			||||||
 | 
					preis = 0 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					f1 = open("cola.txt")
 | 
				
			||||||
 | 
					f2 = open("wasser.txt")
 | 
				
			||||||
 | 
					f3 = open("saft.txt")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cola = float(f1.read())
 | 
				
			||||||
 | 
					wasser= float(f2.read())
 | 
				
			||||||
 | 
					saft= float(f3.read())
 | 
				
			||||||
 | 
					while (weiter_machen==True):
 | 
				
			||||||
 | 
					    #Getränkeauswahl
 | 
				
			||||||
 | 
					    print("Wählen Sie ein Getränk!")
 | 
				
			||||||
 | 
					    print("1. Cola %s€"%(cola))
 | 
				
			||||||
 | 
					    print("2. Wasser %s€"%(wasser))
 | 
				
			||||||
 | 
					    print("3. Saft %s€"%(saft))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    auswahl=int(input("Ihre Auswahl:")) # Nutzereingabe
 | 
				
			||||||
 | 
					    if auswahl==1:
 | 
				
			||||||
 | 
					        preis=cola
 | 
				
			||||||
 | 
					    elif auswahl==2:
 | 
				
			||||||
 | 
					        preis=wasser
 | 
				
			||||||
 | 
					    elif auswahl==3:
 | 
				
			||||||
 | 
					        preis=saft
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        print("ERREUR, please nochmal from Vorne")
 | 
				
			||||||
 | 
					        continue
 | 
				
			||||||
 | 
					    # Anzahl der Getränke
 | 
				
			||||||
 | 
					    anzahl=int(input("Wie viele Getränke wollen Sie? "))
 | 
				
			||||||
 | 
					    preis=preis*anzahl
 | 
				
			||||||
 | 
					    gesamtpreis=gesamtpreis+preis
 | 
				
			||||||
 | 
					    print("Ihr Gesamtpreis beträgt %s€"%(gesamtpreis))  # Gesamtpreis ausgeben
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Weiteres Getränk?
 | 
				
			||||||
 | 
					    weiter=input("Möchten Sie weitere Getränke bestellen? (j/n)")
 | 
				
			||||||
 | 
					    if weiter=="j":
 | 
				
			||||||
 | 
					        weiter_machen=True
 | 
				
			||||||
 | 
					        continue
 | 
				
			||||||
 | 
					    elif weiter=="n":
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        print("ERREUR, please nochmal from Vorne")
 | 
				
			||||||
 | 
					        continue
 | 
				
			||||||
							
								
								
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/cola.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/cola.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					1.50
 | 
				
			||||||
							
								
								
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/saft.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/saft.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					2.00
 | 
				
			||||||
							
								
								
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/wasser.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								3. Übungen/07.04.2022/Getränke_automat_1/wasser.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					1.00
 | 
				
			||||||
							
								
								
									
										9
									
								
								3. Übungen/31.03.2022/while-übung-2.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								3. Übungen/31.03.2022/while-übung-2.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					# Programm, welches wiederholenden um 1 erhöht, startwert=1, obergrenze vom nutzer festglegt
 | 
				
			||||||
 | 
					# Definieren
 | 
				
			||||||
 | 
					x=1
 | 
				
			||||||
 | 
					# Eingabe
 | 
				
			||||||
 | 
					obergrenze=float(input("Maximalen Wert festlegen:"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while x<obergrenze+1:
 | 
				
			||||||
 | 
					    print(x)
 | 
				
			||||||
 | 
					    x=x+1
 | 
				
			||||||
		Reference in New Issue
	
	Block a user