georgie15 Δημοσ. 25 Απριλίου 2023 Δημοσ. 25 Απριλίου 2023 (επεξεργασμένο) Χαιρετώ, είμαι πρωτοετής φοιτήτρια και έχω επιλέξει τον προγραμματισμό σαν μάθημα επιλογής. Ο καθηγητής είναι δεν είναι τόσο επεξηγηματικος και μας έχει βάλει μια άσκηση εξαμήνου με την οποία δεν μπορώ να βγάλω άκρη με όσα έχω κάνει μέχρι στιγμής. Ζητώ βοήθεια από έναν προγραμματιστή που μπορεί να εξηγήσει βήμα βήμα πως θα προχωρήσω για να βγει σωστά ο κώδικας. ✅ Επεξ/σία 30 Απριλίου 2023 από georgie15
Moderators Kercyn Δημοσ. 26 Απριλίου 2023 Moderators Δημοσ. 26 Απριλίου 2023 Τα προβλήματα που θα κληθείς να αντιμετωπίσεις, όπως αυτό εδώ, είναι πολύ μεγάλα για να τα λύσεις με τη μία. Αυτό που πρέπει να κάνεις είναι να σπάσει το μεγάλο πρόβλημα που έχεις σε μικρότερα και πιο βατά προβλήματα τα οποία μπορείς να λύσεις. Η εκφώνηση της άσκησης σε βοηθάει πάρα πολύ σε αυτό το σπάσιμο. Πάρε, για παράδειγμα, το πρώτο bullet. Τα ζητούμενά του μπορούν να συνοψιστούν στα εξής: Πρέπει να εκτυπώσεις ένα μήνυμα για να ξέρει ο χρήστης τι να κάνει και τι επιλογές έχει. Πρέπει να διαβάσεις την επιλογή του χρήστη από το πληκτρολόγιο Πρέπει να ελέγξεις τι σου έδωσε ο πελάτης. Αν η επιλογή του δεν είναι αποδεκτή, πρέπει να τον ξαναρωτήσεις Το 3 θα γίνει μέχρι 3 φορές. Αν συνεχίσει να γράφει βλακείες, το πρόγραμμα τερματίζει Ομοίως μπορείς να προσεγγίσεις και τα υπόλοιπα bullets, και στο τέλος να δεις πώς όλα αυτά θα δουλέψουν μαζί για να φτιάξεις το πρόγραμμά σου. Μην ξεκινήσεις κατευθείαν να γράφεις κώδικα. Πάρε ένα χαρτί και προσπάθησε να σχεδιάσεις τη ροή που θα έχει το πρόγραμμά σου. Στην αρχή θα είναι δύσκολο, αλλά όπως όλα τα πράγματα, αν δεν εξασκηθείς θα παραμείνει δύσκολο για πάντα. Τέλος, πρέπει πάντα να θυμάσαι ότι δεν είσαι πια στο σχολείο. Τώρα πια δεν υπάρχει (ή έστω είναι πολύ σπάνιο και σίγουρα όχι ο κανόνας) ο καθηγητής που θα σε πάρει από το χέρι να πάτε μαζί βήμα-βήμα. Ο καθηγητής θα μπει, θα πει αυτά που είναι να πει και πολλές φορές δε θα πολυνοιάζεται κιόλας. Είναι δική σου δουλειά να ακούσεις ό,τι μπορείς και στη συνέχεια να το ψάξεις μόνη σου. Για παράδειγμα, θα μπει ο καθηγητής και θα σου πει ότι αν θες να τρέξεις κάτι πολλές φορές μπορείς να χρησιμοποιήσεις μια for και θα σου δώσει κι ένα χαζό παράδειγμα. Είναι δική σου δουλειά από κει και πέρα να ψάξεις παραπάνω πώς ακριβώς δουλεύει η for, να πειραματιστείς και να εξασκηθείς, ούτως ώστε να το μάθεις πραγματικά. ΥΓ.: Τώρα είδα ότι είναι μάθημα επιλογής, άρα δεν είσαι σε σχολή πληροφορικής. Τα παραπάνω που έγραψα ισχύουν, αλλά αν δεις ότι δε σε ενδιαφέρει ο προγραμματισμός, μπορείς να πάρεις άλλο μάθημα επιλογής για να μην ταλαιπωρείσαι με πράγματα που σου είναι αδιάφορα. 2
aerialsilk Δημοσ. 26 Απριλίου 2023 Δημοσ. 26 Απριλίου 2023 # Function to handle user input with limited attempts and valid options def get_input_with_validation(prompt, error_message, valid_options): attempts = 3 while attempts > 0: user_input = input(prompt).strip() if user_input in valid_options: return user_input else: print(error_message) attempts -= 1 print("Sorry, we cannot serve you.") return None # Available coffee types and extras coffee_types = ["Greek", "Espresso", "Cappuccino", "Latte"] extras = ["None", "Milk", "Sugar", "Cinnamon"] takeaway_options = ["Yes", "No"] # Initialize order counts coffee_counts = {coffee_type: 0 for coffee_type in coffee_types} invalid_orders = 0 while True: # Get customer's name customer_name = input("Enter customer name (leave empty to quit): ").strip() if not customer_name: break # Get coffee type coffee_type = get_input_with_validation( f"Choose your coffee type ({', '.join(coffee_types)}): ", "Invalid coffee type.", coffee_types ) if not coffee_type: invalid_orders += 1 continue # Get extras extra = get_input_with_validation( f"Choose your extra ({', '.join(extras)}): ", "Invalid extra option.", extras ) if not extra: invalid_orders += 1 continue # Get takeaway option takeaway = get_input_with_validation( "Would you like your order for takeaway? (Yes/No): ", "Invalid takeaway option.", takeaway_options ) if not takeaway: invalid_orders += 1 continue # Print the order print(f"\nOrder for {customer_name}:") print(f"- Coffee type: {coffee_type}") print(f"- Extra: {extra}") print(f"- Takeaway: {takeaway}\n") # Update the order counts coffee_counts[coffee_type] += 1 # Print the final order counts print("\nOrder summary:") for coffee_type, count in coffee_counts.items(): print(f"- {coffee_type}: {count} orders") print(f"- Invalid orders: {invalid_orders}") 2
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα