Ocena Kodu w Pythonie 3.x

0

Cześć, niedawno zacząłem interesować się programowaniem w pythonie i w ogóle programowaniem. A więc przychodzę tutaj z prośbą o ocenę kodu, głównie chciałbym wiedzieć co mógłbym ewentualnie zrobić inaczej, poprawić itp. Jest to bardzo prosty kalkulator z możliwością wprowadzania 2 wartości i 4 podstawowymi działaniami. Z góry wszystkim dziękuję za opinię :D

Poniżej wklejam kodzik.

print('Jakie działanie matematyczne chcesz wykonać? (max 2 wartości)\n 1. Dodawanie \n 2. Odejmowanie \n 3. Mnożenie \n 4. Dzielenie\n')

wartość_pierwsza = "Wprowadź pierwszą wartość:\n"

wartość_druga = "Wprowadź drugą wartość:\n"

#wybór działania do wykonania
wybor = input()

print('Wybrano opcję: ' + wybor)

if str(wybor) == str("1"):
    print(wartość_pierwsza)

    pierwsza_dod = float(input())

    print(wartość_druga)

    druga_dod = float(input())

    wynik_dod = pierwsza_dod + druga_dod

    print(wynik_dod)
#odejmowanie
elif str(wybor) == str("2"):
    print(wartość_pierwsza)

    pierwsza_ode = float(input())

    print(wartość_druga)

    drugia_ode = float(input())

    wynik_ode = pierwsza_ode - drugia_ode

    print(wynik_ode)
    #mnożenie
elif str(wybor) == str(3):
    print(wartość_pierwsza)

    pierwsza_mnóż = float(input())

    print(wartość_druga)

    druga_mnóż = float(input())

    wynik_mnóż = pierwsza_mnóż * druga_mnóż

    print(wynik_mnóż)
    #dzielenie
elif str(wybor) == str(4):
    print(wartość_pierwsza)

    pierwsza_dziel = float(input())

    print(wartość_druga)

    druga_dziel = float(input())

    wynik_dziel = pierwsza_dziel / druga_dziel

    print(wynik_dziel)
0

Nie lepiej pobrać na początku dwie liczby, potem określić działanie i w zależności od działania je wykonać?

0

str(wybor) ==..., input jest stringiem, nie trzeba go rzutować. Spróbuj dorobić jakąś walidację danych wejściowych, w pętli, wyjścia poza zakres, nieprawidłowy literał do float, etc., bo na razie to jest super trywialne/toporne.

0

1/10.

1

Bardzo nieczytelny i przekombinowany. Poczytaj o funkcjach i klasach. Stwórz sobie klasę kalkulator z funkcjami odpowiedzialnymi za działania. Nie będzie to trudne zadanie a troszkę poznasz obiektówkę :)

0

ja rozumiem jak porownujesz ze strigniem ale żeby stringa rzutować na stringa? Mówię tu o: str("1") oraz str("2") przy trzecim i czwartym napisales juz str(3) i str(4) - nie prosciej bylo porownac po prostu z "1", "2", "3", "4" bez rzutowania? miałbyś przynajmniej spójność metod

1 użytkowników online, w tym zalogowanych: 0, gości: 1