• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem z kodem Python

Mały hosting, OGROMNE możliwości
+2 głosów
259 wizyt
pytanie zadane 16 grudnia 2019 w Python przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 16 grudnia 2019 przez Marak123

Mam problem z kodem bo chce powtórzyć pytanie jeżeli nie będzie takiej płci człowieka chce zrobić to na klasie ale wywala mi błąd taki: 

                                  Traceback (most recent call last):
                                     File "Ściezka do pliku", line 4, in <module>
                                            class Plec_Plec():
                                     File "Sciezka do pliku", line 13, in Plec_Plec
                                                 Plec_Plec()
                                     NameError: name 'Plec_Plec' is not defined

Kod :::::: Wie ktoś jak to naprawić albo zrobić inaczej????

class Plec_Plec():
    plec = input("Jakiej jesteś plci? >> ")
    if plec in ["kobieta", "Kobieta", "dziewczyna", "Dziewczyna"]:
        a = "chciała"
    elif plec in ["Mezczyzna", "mezczyzna", "chlopak", "Chlopak", "Chłopak", "chłopak", "mężczyzna", "Mężczyzna",
                   "męzczyzna", "Męzczyzna", "meżczyzna", "Meżczyzna"]:
        a = "chciał"
    else:
        print("Nie ma takiej płci człowieka!")
        Plec_Plec()

 

komentarz zamknięcia: Już wiem

1 odpowiedź

+2 głosów
odpowiedź 16 grudnia 2019 przez RafalS VIP (122,780 p.)
wybrane 16 grudnia 2019 przez Marak123
 
Najlepsza

Wystarczy zmienić class na def i wszystko działa. Dlaczego? Bo traktujesz klasę jak funkcję. Poczytaj coś o klasach, bo funkcjami one nie są.

Po drugie - po co tutaj rekurencja? Użyłbym raczej pętli while z jasną logiką - próbuj dopóki Ci się nie udało:

def Plec_Plec():
    while True:
        plec = input("Jakiej jesteś plci? >> ")
        if plec.lower() in ["kobieta", "dziewczyna"]:
            a = "chciała"
            break
        elif plec.lower() in ["mezczyzna", "chlopak", "chłopak", "mężczyzna", "męzczyzna", "meżczyzna"]:
            a = "chciał"
            break
        else:
            print("Nie ma takiej płci człowieka!")
1
komentarz 16 grudnia 2019 przez Marak123 Stary wyjadacz (11,190 p.)
Dzieki działa

Podobne pytania

0 głosów
0 odpowiedzi 922 wizyt
0 głosów
1 odpowiedź 210 wizyt
pytanie zadane 1 listopada 2023 w Python przez mark162 Początkujący (410 p.)
0 głosów
3 odpowiedzi 864 wizyt

93,718 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,263 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...