Ikiwa unataka kubadilisha safu ya nambari kuwa nambari za nambari kwenye Python, tumia int() kubadilisha kuwa nambari kamili na kuelea () kubadilisha kuwa nambari za sehemu zinazoelea.
Ifuatayo imeelezewa hapa, pamoja na nambari ya mfano.
- Matumizi ya kimsingi
- Badilisha mifuatano ya nambari kuwa nambari kamili:
int()
- Badilisha mfuatano wa nambari kuwa nambari za sehemu zinazoelea:
float()
- Badilisha mifuatano ya nambari kuwa nambari kamili:
- Matumizi Maalum
- Hubadilisha mifuatano katika nukuu ya binary, oktali, na heksadesimali kuwa nambari
- Hubadilisha mifuatano katika nukuu ya kielelezo kuwa thamani za nambari
- Badilisha mifuatano ya nambari ya Kiarabu yenye upana kamili kuwa nambari
- Badilisha mfuatano wa herufi za Kichina kuwa nambari
Ili kubadilisha thamani ya nambari kuwa mfuatano, tumia str().
Ikiwa unataka kubadilisha nambari au mifuatano kuwa miundo mbalimbali, tumia kitendakazi cha umbizo() au mbinu ya kamba str.format(). Kisha unaweza kubadilisha hadi 0-fill, binary, octal, hexadecimal, exponential notation, n.k. Tazama makala ifuatayo kwa maelezo zaidi.
- INAYOHUSIANA:Ubadilishaji wa umbizo katika Python, umbizo (kujaza-0, nukuu ya ufafanuzi, heksadesimali, n.k.)
Inaweza pia kubadilisha orodha ya mifuatano kuwa orodha ya nambari. Tazama makala ifuatayo kwa maelezo zaidi.
- Badilisha mifuatano ya nambari kuwa nambari kamili:int()
- Badilisha mfuatano wa nambari kuwa nambari za sehemu zinazoelea:float()
- Hubadilisha mifuatano katika nukuu ya binary, oktali, na heksadesimali kuwa nambari
- Hubadilisha mifuatano katika nukuu ya kielelezo kuwa thamani za nambari
- Badilisha mifuatano ya nambari ya Kiarabu yenye upana kamili kuwa nambari
- Badilisha mfuatano wa herufi za Kichina kuwa nambari
Badilisha mifuatano ya nambari kuwa nambari kamili:int()
Unaweza kutumia int() kubadilisha msururu wa nambari kuwa nambari za aina kamili.
print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>
Desimali, ikijumuisha nukta za desimali, na mifuatano iliyotenganishwa kwa koma itasababisha ValueError.
# print(int('1.23'))
# ValueError: invalid literal for int() with base 10: '1.23'
# print(int('10,000'))
# ValueError: invalid literal for int() with base 10: '10,000'
Mistari iliyotenganishwa kwa koma inaweza kubadilishwa kwa kuondoa koma (kuibadilisha na mfuatano tupu) kwa kutumia njia ya replace().
print(int('10,000'.replace(',', '')))
# 10000
Badilisha mfuatano wa nambari kuwa nambari za sehemu zinazoelea:float()
Float() inaweza kutumika kubadilisha mfuatano wa nambari kuwa aina ya nambari inayoelea.
print(float('1.23'))
print(type(float('1.23')))
# 1.23
# <class 'float'>
Mifuatano iliyo na sehemu kamili iliyoachwa hubadilishwa kwa kukamilisha sehemu kamili na 0.
print(float('.23'))
# 0.23
Kamba nambari kamili pia hubadilishwa hadi nambari za sehemu zinazoelea.
print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>
Hubadilisha mifuatano katika nukuu ya binary, oktali, na heksadesimali kuwa nambari
Ikiwa radix imebainishwa kama hoja ya pili hadi int(), mfuatano unaweza kubadilishwa hadi int kamili kwa kuuzingatia kama jozi, octal, hexadecimal, n.k.
print(int('100', 2))
print(int('100', 8))
print(int('100', 16))
# 4
# 64
# 256
Kama ilivyo katika mifano iliyopita, ikiwa imeachwa, nambari inachukuliwa kuwa nambari ya desimali.
print(int('100', 10))
print(int('100'))
# 100
# 100
Ikiwa radix imewekwa kuwa 0, ubadilishaji unategemea kiambishi awali cha kamba. Tazama hapa chini kwa viambishi awali vya kamba.
0b
0B
0o
0O
0x
0X
print(int('0b100', 0))
print(int('0o100', 0))
print(int('0x100', 0))
# 4
# 64
# 256
Viambishi awali na herufi heksi vinaweza kuwa herufi kubwa au ndogo.
print(int('FF', 16))
print(int('ff', 16))
# 255
# 255
print(int('0xFF', 0))
print(int('0XFF', 0))
print(int('0xff', 0))
print(int('0Xff', 0))
# 255
# 255
# 255
# 255
Tazama nakala ifuatayo kwa maelezo juu ya ubadilishaji wa nambari na mifuatano ya binary, oktali, na heksadesimali.
Hubadilisha mifuatano katika nukuu ya kielelezo kuwa thamani za nambari
Mifuatano katika nukuu kielelezo inaweza kubadilishwa moja kwa moja hadi aina ya kuelea kwa float().
print(float('1.23e-4'))
print(type(float('1.23e-4')))
# 0.000123
# <class 'float'>
print(float('1.23e4'))
print(type(float('1.23e4')))
# 12300.0
# <class 'float'>
Herufi ndogo e pia inaweza kuwa herufi kubwa E.
print(float('1.23E-4'))
# 0.000123
Badilisha mifuatano ya nambari ya Kiarabu yenye upana kamili kuwa nambari
Nambari za Kiarabu zenye upana kamili zinaweza kubadilishwa moja kwa moja hadi nambari kwa int() au kuelea().
print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>
print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>
Hata hivyo, ikiwa alama kama vile minus na vipindi vya desimali ni herufi zenye upana kamili, ValueError itatolewa.
# print(float('ー1.23'))
# ValueError: could not convert string to float: '1.23'
Nambari zinaweza kubadilishwa bila matatizo ikiwa ni vibambo vya upana kamili, lakini nukta ya minus na desimali ni vibambo vya upana wa nusu. ubadilishaji unawezekana kwa kubadilisha alama za upana kamili na alama za upana wa nusu kwa kutumia njia ya replace().
print(float('-1.23'))
# -1.23
print(float('ー1.23'.replace('ー', '-').replace('.', '.')))
# -1.23
Badilisha mfuatano wa herufi za Kichina kuwa nambari
Chaguo za kukokotoa za unicodedata.numeric() katika sehemu ya unicodedata zinaweza kutumika kubadilisha herufi moja ya Unicode ya Kichina kuwa nambari ya aina ya sehemu inayoelea.
Ikiwa sio herufi moja, kosa litatokea. Pia, herufi zisizo na nambari zitasababisha hitilafu.
import unicodedata
print(unicodedata.numeric('五'))
print(type(unicodedata.numeric('五')))
# 5.0
# <class 'float'>
print(unicodedata.numeric('十'))
# 10.0
print(unicodedata.numeric('参'))
# 3.0
print(unicodedata.numeric('億'))
# 100000000.0
# print(unicodedata.numeric('五十'))
# TypeError: numeric() argument 1 must be a unicode character, not str
# print(unicodedata.numeric('漢'))
# ValueError: not a numeric character