Forum Linux.pl

Programowanie => Języki skryptowe => Wątek zaczęty przez: prezes.cc w 2017-12-12, 19:25:13

Tytuł: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: prezes.cc w 2017-12-12, 19:25:13
Mam taki kod: Multi lotek - zgadywanie liczby

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random

liczba = random.randint(1, 10)
#print("Wylosowana liczba:", liczba)

odp = input("Jaka liczbe od 1 do 10 mam na mysli? ")
print("Podałeś liczbę: ", odp)

if liczba == int(odp):
    print("Zgadłeś! Dostałeś długopis!")
else:
    print("Nie zgadłeś. Spróbuj jeszcze raz.")

oraz wynik kodu:

Jaka liczbe od 1 do 10 mam na mysli? 2
Podałeś liczbę:  2
Nie zgadłeś. Spróbuj jeszcze raz.

Co robie nie tak? Tylko od razu mówie, że jestem początkujący. Kod podałem z tej strony http://python101.readthedocs.io/pl/latest/podstawy/mlotek/index.html
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: Paweł Kraszewski w 2017-12-13, 05:46:43
Ale jaki jest ten błąd, bo nie widzę?

--EDIT--
Z mojej strony mogę polecić debugging metodą gumowej kaczuszki (https://pl.wikipedia.org/wiki/Metoda_gumowej_kaczuszki), który bardzo pomaga na początkowych etapach nauki języka.
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: prezes.cc w 2017-12-14, 12:17:54
Jaka liczbe od 1 do 10 mam na mysli? 2
Podałeś liczbę:  2
Nie zgadłeś. Spróbuj jeszcze raz.
W odpowiedzi podana jest liczba 2 i wynik też jest liczbą 2,  a wynik programu mówi, że nie zgadłem.
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: Paweł Kraszewski w 2017-12-14, 13:53:28
Jaka liczbe od 1 do 10 mam na mysli? 2
Podałeś liczbę:  2
Nie zgadłeś. Spróbuj jeszcze raz.
W odpowiedzi podana jest liczba 2 i wynik też jest liczbą 2,  a wynik programu mówi, że nie zgadłem.
W którym miejscu na ekranie pojawia się informacja, co wylosował komputer (zakładając, ze zakomentowana linia z pierwszego posta dalej jest zakomentowana)?
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: prezes.cc w 2017-12-14, 20:47:56
W którym miejscu na ekranie pojawia się informacja, co wylosował komputer

Mój błąd - dopiero po poprawnym podaniu liczby komputer wyświetliłby liczbę i napis

Zgadłeś! Dostałeś długopis!

Źle zrozumiałem kod. Nie odgadłem liczby podanej przezemnie i wynik był taki
Nie zgadłeś. Spróbuj jeszcze raz.

W innym przypadku poawiłby się napis:
Zgadłeś! Dostałeś długopis!
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: Paweł Kraszewski w 2017-12-15, 07:54:48
Ummm... Dobrze, niech będę gumową kaczuszką (nie mówcie mojej żonie).

Proszę mi opisać, co robią kolejne wykonywane linijki skryptu - jednym zdaniem każdą linijkę. Tak, jakby właśnie ktoś oderwał mnie od targania monolitu na swoje miejsce w Stonehenge. Rozumiem sprawy "zapytaj", "powiedz", "zapamiętaj", "porównaj", "czy", "rzuć dziesięciościenną kostką z rogu mamuta" i takie tam neolityczne pierdoły.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random

liczba = random.randint(1, 10)

odp = input("Jaka liczbe od 1 do 10 mam na mysli? ")
print("Podałeś liczbę: ", odp)

if liczba == int(odp):
    print("Zgadłeś! Dostałeś długopis!")
else:
    print("Nie zgadłeś. Spróbuj jeszcze raz.")
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: prezes.cc w 2017-12-15, 15:04:31
Rezygnuje z kodu, i przepraszam za zajęcie czasu. Nie będę dalej ciągnął tematu.
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: Paweł Kraszewski w 2017-12-15, 16:33:51
Kod jest poprawny. Ćwiczenie miało za zadanie sprawdzić, czy Pan go dokładnie rozumie.
Tytuł: Odp: [Python] Problematyczny błąd podczas kompilacji
Wiadomość wysłana przez: prezes.cc w 2017-12-15, 17:29:45
Cytuj
Kod jest poprawny

Jako początkujący nie rozumiem kilku rzeczy, ale nie będę drążył tematu - zabieram się za inny kod, chociaż prostszego jak ten to chyba niema. Przeanalizuje go jeszcze raz.