[python] problem z pętlą
Ostatnio zmodyfikowano 2024-06-23 15:02
rychu909 Temat założony przez niniejszego użytkownika |
[python] problem z pętlą » 2022-01-28 13:39:50 Cześć, mam problem ze znalezieniem przyczyny dlaczego nie działa mi pętla. Po wylosowaniu liczby większej niż 5, pętla powinna wrócić do początku, a obecnie jest tak, że jeśli wylosuje wyżej niż 5 to nie wraca. Nie zlinczujcie mnie jeśli są jakieś buble, albo czegoś nie wiem, uczę się we własnym zakresie i pomaga mi znajomy :) Pod spodem wklejam cały kod: print ("Witaj przyjacielu! Masz niepowtarzalną okazję, by poznać swojąprzyszłość!", "\n\nPrzed Tobą jest pięć ciastek z wróżbą.")
input ("Aby wybrać ciastko, naciśnij klawisz Enter.")
import random cake = random.randint (1, 30)
print ("\n\nTwoja wróżba mówi, że ")
total = cake while total <= 5: if total == 1: print ("pojedziesz na wakacje.") break elif total == 2: print ("wygrasz na loterii.") break elif total == 3: print ("to twój szczęśliwy dzień.") break elif total == 4: print ("to będzie ciężki weekend.") break elif total == 5: print ("spotka Cię szczęście.") break elif total >= 6: continue
|
|
aaadam |
» 2022-01-28 14:21:14 musisz losować cake w pętli, zmienić total na cake w ifach, oraz zmienić warunek pętli na nieskończony najlepiej |
|
jamila2 |
» 2023-03-21 06:11:25 W twoim kodzie jest kilka błędów, które powodują awarię pętli. Oto kilka pomysłów, jak to rozwiązać: Instrukcja losowego importu powinna znajdować się przed instrukcją print na początku kodu. Ponieważ zmienna total nie jest aktualizowana w pętli, pętla będzie działać w nieskończoność. Zamiast tego podczas pętli wygeneruj nową liczbę losową, aby zaktualizować zmienną sumaryczną. Ponieważ każda instrukcja reprezentuje inny warunek, instrukcje elif w pętli należy zastąpić instrukcjami if. Instrukcja continue jest niepotrzebna w pętli, ponieważ pętla automatycznie przejdzie do następnej iteracji. Oto poprawiona wersja Twojego kodu, która zawiera następujące zmiany: import random
print("Hello my friend! You have a unique opportunity to know your future!") input("To select a cookie, press Enter.")
while True: cake = random.randint(1, 30) total = cake % 5 + 1
print("\nYour divination says", end=" ")
if total == 1: print("you will go on vacation.") elif total == 2: print("you will win the lottery.") elif total == 3: print("is your lucky day.") elif total == 4: print("it will be a hard weekend.") elif total == 5: print("you will be lucky.")
if total <= 5: break
Pętla w tej wersji tworzy za każdym razem nową liczbę losową i zmienia zmienną total na wartość od 1 do 5. Pętla działa do momentu utworzenia liczby mniejszej lub równej 5, w którym to momencie wypisywana jest powiązana fortuna i pętla jest przerwana. |
|
inzynier1979 |
» 2024-06-23 15:02:00 ja bym uzyl switch jest dotepnny od pythona 3.9 |
|
« 1 » |