saqr utworzono 1 czerwca 2022 utworzono 1 czerwca 2022 (edytowane) Witam. Uczę się programowania w pythonie. Mam zadanie polegające na tym, że użytkownik wybiera liczbę z przedziału od 1 do 100 i komputer ma ją odgadnąć. To mój kod programu: # Komputer zgaduje liczbę import random x = int(input("Wybierz liczbę od 1 do 100: ")) y = random.randint(1, 100) while y != x: if y > x: print("Za duża...") elif y < x: print("Za mała...") else: print("Twoja liczba to:", y) y = random.randint(1, 100) print("Twoja liczba to ", y) input("\n\nAby zakończyć program wciśnij enter.") Jak widzicie wstawiłem dwukrotnie print("Twoja liczba to", y). Jak usunę tę linijkę print z końca kodu program nie wykonuje instrukcji print w warunku else. Nie wypisuje wybranej przeze mnie liczby. Z tą linijką na końcu wszystko przebiega pomyślnie. Program odgaduje liczbę i kończy pętlę.
fernandez komentarz 1 czerwca 2022 komentarz 1 czerwca 2022 Ja ci napiszę tak. "u mnie działa!" https://onlinegdb.com/zjQbuCn4h pytanie jest jak chcesz dokładnie żeby działało. Na koniec, jak w końcu "random" wylosuje dobrą liczbę, wypisuje ją i program się kończy (czeka na input).
saqr komentarz 1 czerwca 2022 Autor komentarz 1 czerwca 2022 (edytowane) W drugim zadaniu również ten sam problem. Program nie wykonuje instrukcji print w warunku else # Odgadnij liczbę w 10 próbach import random print("Witaj w programie odgadnij liczbę!") print("Masz 7 prób aby odgadnąć liczbę jaką wybrałem") liczba = random.randint(1, 100) x = int(input("Wybierz liczbę: ")) próba = 10 while x != liczba: if próba == 0: print("Wykorzystałeś wszystkie próby") break elif x < liczba: print("Twoja liczba jest za mała") elif x > liczba: print("Twoja liczba jest za duża") else: print("Brawo! Chodziło mi liczbę", x) x = int(input("Wybierz liczbę: ")) próba -= 1 input("\n\nAby zakończyć program naciśnij enter") Co robię źle? @fernandez Program działa dobrze, ale nie wypisuje @fernandez Sprawdź drugi program, który dodałem. Jest ten sam problem. Kiedy liczba jest za mała na konsoli pojawia się komunikat, że jest za mała. Kiedy jest za duża również komputer zwraca informację. Ale gdy odgadnę liczbę wybraną wylosowaną przez komputer nie zwraca napisu, że odgadłem liczbę tylko kończy pentlę. A w warunku else jest print("Brawo! Chodziło mi o liczbę", x). Na innym forum polecili mi alternatywę w postaci pętli while true. Wszyscy śmiga jak w zegarku. Chociaż napisali, że moja wersja też była prawidłowa tylko, że trzeba było dodać instrukcję print po za pętlą. Więc wszystko ok. Teraz będę pamiętał.
fernandez komentarz 2 czerwca 2022 komentarz 2 czerwca 2022 wszystko sie wykonuje i wypisuje moze jakos dziwnie używasz stndardowego wyjścia, albo dziwnego IDE przekopoiwalem twój skrypt do interpertera sieciowego (dałem link) i wszystko się wypisuje
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.