x-kom hosting

Problem z python

SharKv07
utworzono
utworzono (edytowane)

Witam mam problem z kodem. Chodzi o to że jak wybiorę daną figurę to program podczas próby zmiany na inną się psuje. Póki nie chce zmienić figury program liczy tylko dany rodzaj figury prawidłowo. Wie ktoś jak to zmienić? Proszę o pomoc. Kod zamieszczam poniżej. 

 

print('Wybierz figure, poprzez wpisanie cyfry danej figury:')
odp = ''
print('1. Prostokat\n2. Kwadrat\n3. Kolo\n4. Romb\n')
odp = input('Podaj cyfre odpowiadajaca danej figurze: ')
 
def tak_nie():
    odp = str.lower(input('Jezeli chcesz wybrac inna figure napisz "tak". Jezeli nie napisz "nie": '))
    if odp=="tak":
       print('1. Prostokat\n2. Kwadrat\n3. Kolo\n4. Romb\n')
       odp = input('Podaj cyfre odpowiadajaca figurze: ')
    if odp =="nie":
        print('Koniec programu!')
        
def prostokat():
       dlugosc = input('Podaj dlugosc dluzszego boku prostokata: ')
       szerokosc = input('Podaj dlugosc krotszego boku prostokata: ')
       szerokosc = int(szerokosc)
       dlugosc = int(dlugosc)
       pole = (dlugosc*szerokosc)
       print ('Pole twojego prostokata wynosi: ', pole)
def kwadrat():
       bok = input('Podaj dlugosc boku kwadratu: ')
       bok = int(bok)
       pole = (bok*bok)
       print('Pole twojego kwadratu wynosi:', pole)
def romb():
       wysokosc = input('Podaj wysokosc rombu: ')
       bok = input('Podaj dlugosc boku rombu: ')
       wysokosc = int(wysokosc)
       bok = int(bok)
       pole = (wysokosc*bok)
       print('Pole twojego rombu wynosi: ', pole)
def kolo():
       promien = input('Podaj dlugosc promienia: ')
       promien =int(promien)
       pole = ((promien**2)*3.14)
       print('Pole twojego kola wynosi: ', pole)
       print('Wartosc liczby PI zostala przyjeta jako 3,14')
        
while True:
 
    try:
       odp = int(odp)
       if odp == 1:
           prostokat()
           tak_nie()
       elif odp == 2:
           kwadrat()
           tak_nie()
       elif odp == 3:
           kolo()
           tak_nie()
       elif odp == 4:
           romb()
           tak_nie()
       else:
           print("Wybrano zla liczbe!")
    except:
       print('Wpisano cos innego niz liczba!')

saddddd.png

Bez23231321tułu.png

SharKv07
komentarz
komentarz

@up.

 

  • 3 miesiące później...
fernandez
komentarz
komentarz

poczytaj o widoczności zmiennych:

https://www.w3schools.com/python/python_scope.asp

 

w skrócie, żeby rozwiązać ten konkretny przypadek najszybciej jak się da, musisz użyć słowa kluczowego "global"

natomiast masz inny błąd w kodzie, ale myślę, że już dalej sobie poradzisz

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.