JavaScript Matematyka Pow vs mnożenie

| | | | | | |

Podczas gdy łańcuchy mogą być mnożone przez liczby całkowite w celu utworzenia powtarzającej się sekwencji, łańcuchy nie mogą być mnożone przez liczby zmiennoprzecinkowe. W przeciwnym razie Python zwróci błąd.

W tym artykule omówimy błąd „ typeerror: nie można pomnożyć sekwencji przez nie-int typu „float”” i dlaczego jest on wywoływany . Przeanalizujemy przykładowy scenariusz z tym błędem, abyśmy mogli go naprawić.

Błąd typu: nie można pomnożyć sekwencji przez liczbę niecałkowitą typu „float”

Rzućmy trochę spójrz na nasz komunikat o błędzie i zobacz, co nam mówi:

Nasz błąd to TypeError. Oznacza to, że próbujemy wykonać operację na wartości, której typ danych nie przyjmuje nie obsługuje tej operacji. Na przykład, jeśli spróbujesz połączyć liczbę całkowitą i łańcuch, zostanie zwrócony błąd typu.

Błąd mówi nam, że mnożymy ciąg, zwany także string , z liczby zmiennoprzecinkowej . Nie jest to obsługiwane w Pythonie.

W Pythonie są dwa typy liczb: liczby całkowite i liczby zmiennoprzecinkowe. Liczby całkowite są liczbami całkowitymi, a liczby zmiennoprzecinkowe są dziesiętne.

Ciągi można mnożyć przez liczby całkowite. Rozważmy ten przykład:

Nasz kod zwraca: SconeSconeScone. Po pomnożeniu ciągu przez liczbę całkowitą tworzona jest powtarzająca się sekwencja tego ciągu.

Ciągów nie można mnożyć przez liczby zmiennoprzecinkowe. Gdybyś próbował pomnożyć nasz ciąg „scone” przez 3.3, co zrobiłby Python? Nie możesz mieć 0,3 ciągu. Następnie zwracany jest błąd.

Przykładowy scenariusz

Ten błąd jest często spotykany podczas korzystania z deklaracji input() . Spójrzmy na program, który oblicza 5% rabatu na zakup dokonany w sklepie.

Mamy zadeklarowała zmienną nazywaną wartością, która przechowuje, ile klient wydał na zakup. Ta wartość jest pobierana od użytkownika za pomocą metody input().

Następnie chciałbym zadeklarować zmienną o nazwie rabat.Przechowuje ona 5% rabatu, który zastosujemy do zakupów jako liczbę dziesiętną. Następnie obliczamy procent rabatu, mnożąc razem „wartość” i „rabat”. Następnie odejmujemy tę liczbę od całkowitego kosztu produktu.

Używamy metoda round() w celu zaokrąglenia wartości „koszt_końcowy” do dwóch miejsc po przecinku. Następnie wypisujemy tę wartość do konsoli.

Pójdźmy spróbuj uruchomić nasz kod:

O nie. Wystąpił błąd zwrócono. Naprawmy ten błąd.

Błąd „Błąd typu: Nie można pomnożyć sekwencji dla niecałkowitej typu „zmiennoprzecinkowa”” jest spowodowany przez pomnożenie ciągu i liczby zmiennoprzecinkowej.

Ten błąd wystąpił w naszym poprzednim programie, ponieważ in put() zwraca ciąg. Oznacza to, że nawet jeśli wstawimy liczbę do naszego programu, zostanie ona zapisana jako ciąg.

Aby rozwiązać ten problem, możemy przekonwertować wartość, którą użytkownik wprowadzi do programu na zmienną wartość punktową, korzystając z metody float() :

float () Metoda jest otoczona przez metodę wejścia (). Metoda float() konwertuje wartość ciągu zwróconą przez input() na liczbę zmiennoprzecinkową. To pozwala nam pomnożyć „wartość” i „rabat”, ponieważ są to dwie liczby.

Spróbujmy ponownie uruchomić nasz kod:

Nasz kod działa! Nasz program mówi nam, że 5% rabatu od wartości zakupu 12,99 USD powoduje, że produkt końcowy kosztuje 12,34 USD .



Wniosek

Ciągów nie można mnożyć przez liczby zmiennoprzecinkowe. Dzieje się tak, ponieważ mnożenie ciągów przez liczby całkowite tworzy powtarzającą się sekwencję Nie jest to możliwe przy użyciu liczby zmiennoprzecinkowej, ponieważ spowodowałoby to pomnożenie ciągu przez wartości dziesiętne.

Aby rozwiązać „ błąd typu: nie można pomnożyć sekwencji dla typu innego niż int ”float `" error , upewnij się, że wszystkie wartości ciągu ‚Ęã‚Ęã są konwertowane na liczby zmiennoprzecinkowe, jeśli są używane jako część obliczeń.

Jesteś teraz gotowy do rozwiązania tego błędu jako Ekspert Pythona !

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method