Kako pretvoriti nize Python v plavajoče številke
Pretvorba niza Python v plavajočo vrednost vam lahko pomaga izogniti se napakam, ki nastanejo zaradi vključitve nizov, ki niso številčni, v aritmetične operacije.
Katere vrste nizov Python se lahko pretvorijo v plavajoče številke?
Če želite pretvoriti niz Python v plavajočo vrednost, mora niz imeti veljavno numerično predstavitev kot plavajoča vrednost. To pomeni, da lahko vsebuje številke v decimalnem formatu, ki vključuje decimalne pike in znanstveno zapisanje (kot na primer "3.14" ali "2.7e-3"). Vendar pa ne sme vsebovati dodatnih znakov, presledkov ali znakov, ki ne predstavljajo numeričnih vrednosti. Če jih vsebuje, pretvorba ne bo delovala.
Pretvorba niza v plavajočo vrednost je osnovna funkcija in je vključena v vsako različico Python. Vendar pa lahko obstajajo majhne razlike v delovanju nekaterih metod in funkcij v različnih različicah. Bodite pozorni na napake, ki lahko nastanejo med pretvorbami. Na primer, vnos niza, ki ne predstavlja veljavnega števila, bo povzročil napako. Posebne vrednosti, kot NaN (ni število) in Infinity, ni mogoče Infinity v plavajoče število. To pomeni, da morajo razvijalci, ki delajo s pretvorbami, znati ustrezno obravnavati napake. Ena od možnosti za to je uporaba blokov try/except za zaznavanje napak in odzivanje nanje.
Kako pretvoriti Pythonove nize z float()
Funkcija float() je vgrajena metoda Python, ki pretvarja nize v plavajoče številke. Pogosto se uporablja za spreminjanje uporabniških vnosov iz nizov v številčne formate, tako da se vnosi lahko uporabijo v izračunih ali številčnih operacijah. V programih, ki delujejo z različnimi vrstami podatkov, se float() uporablja za zagotavljanje doslednosti podatkov s pretvarjanjem vrednosti v številčni format.
Za pretvorbo nizov Python v plavajoče številke uporabite float() in kot argument vnesite veljaven niz:
str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416pythonDruge številčne tipe, kot sta int in complex, lahko pretvorite v plavajoče število tako, da jih pretvorite v float().
Bloki try/except se lahko uporabijo za zaznavanje neveljavnih uporabniških vnosov pri pretvarjanju nizov v plavajoče številke:
while True:
user_input = input("Enter a number: ")
try:
float_value = float(user_input)
print("Entered number as float:", float_value)
break # Exit the loop if the conversion was successful
except ValueError:
print("Invalid input! Please enter a numeric value.")
# The loop continues to prompt for valid inputpythonZgornja koda je zanka, ki uporabnike pozove, naj vnesete številko. Nato poskuša to vrednost pretvoriti v plavajočo številko. V bloku try je float(user_input) namenjeno pretvorbi niza, ki ga je vnesel uporabnik, v plavajočo številko. Če je pretvorba uspela, se številka shrani pod float_value in vrne. Izjava break nato zaključi zanko in nadaljuje z izvajanjem programa.
Če pri pretvorbi niza v float pride do napake ValueError, se izvede koda v bloku except. To se lahko zgodi, če uporabnik vnese vrednost, ki je ni mogoče pretvoriti v float, na primer črko. V tem primeru se prikaže sporočilo, da je vnos neveljaven, in zanka ponovno zahteva veljaven vnos.
Kako pretvoriti Pythonove nize v plavajoče številke z NumPy
Če želite pretvoriti niz Python v plavajočo vrednost s NumPy, lahko uporabite funkcijo numpy.float64(). Ta vam bo dala 64-bitno plavajočo vrednost.
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416pythonNajprej morate v svoj skript uvoziti NumPy, če še ni nameščen. Nato lahko z NumPy uporabite funkcijo numpy.float64() za niz string_value, da ga pretvorite v 64-bitno plavajoče število.
Kako uporabljati str()
Če pa želite pretvoriti float v niz, lahko uporabite funkcijo str(). Ta funkcija pretvarja druge vrednosti v nize.
float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"pythonV zgornjem primeru je vrednost float 3.1416 pretvorjena v niz "3.1416" z uporabo str().
str() je uporaben tudi za povezovanje več plavajočih vrednosti z nizi f ( format niza v Pythonu).
float_value1 = 3.1416
float_value2 = 2.7182
float_value3 = 1.6180
string_concatenation = f"Concatenation of: {str(float_value1)}, {str(float_value2)}, and {str(float_value3)}"
print(string_concatenation) # Concatenation of: 3.1416, 2.7182, and 1.6180pythonUpoštevajte, da bo pri pretvorbi plavajočih števil v nize z str() končni niz predstavljen kot besedilo in ne bo več na voljo za numerične izračune ali matematične operacije. Če ga želite uporabiti v izračunih, ga boste morali ponovno pretvoriti v numerično obliko (kot plavajoče število).
Preberite več o drugih vrstah pretvorb v našem digitalnem vodniku. Razložimo, kako pretvoriti Pythonove nize v sezname in Pythonove nize v datetime objekte.