Cześć,
W twoim kodzie jest parę błędów które uniemożliwiają na ten moment jego prawidłowe działanie.
Opisany przez Ciebie problem spowodowany jest tym fragmentem kodu:
user_choice = input("Wpisz liczbę: ")
W tej formie zapisu, wprowadzona przez użytkownika liczba zapisana zostaje jako ciąg znaków (string).
W celu pobrania od użytkownika liczby zmienimy powyższy zapis na:
user_choice = int(input("Wpisz liczbę: "))
Następny problem to wykonywanie operacji matematycznych na ciągach znaków, o ile operacja dodawania nie wyrzuci nam błędu ponieważ jest ona dozwolona to np. odejmowanie zakończy działanie programu.
Rozwiązanie jest analogiczne:
liczba_pierwsza = int(input("Podaj pierwszą liczbę: "))
liczba_druga = int(input("Podaj drugą liczbę: "))
Jak już program będzie działał tak jak autor miał na myśli, warto zwrócić uwagę na zjawisko redundancji.
Pierwsza wskazówką jak oczyścić twój kod z powtórzeń jest pobieranie obydwu liczb tylko raz, to samo możemy zrobić z wynikiem na końcu każdej iteracji.