Pertanyaan Mengonversi bilangan bulat ke string dengan Python?


Saya ingin mengonversi bilangan bulat menjadi string dengan Python. Saya mengetikkannya dengan sia-sia:

t=raw_input()
c=[]
for j in range(0,int(t)):
    n=raw_input()
    a=[]
    a,b= (int(i) for i in n.split(' '))
    d=pow(a,b)
    d.str()
    c.append(d[0])
for j in c:
    print j

Ketika saya mencoba mengubahnya menjadi string, itu menunjukkan kesalahan seperti int tidak memiliki atribut apa pun yang disebut str.


993
2018-06-07 10:22


asal


Jawaban:


>>> str(10)
'10'
>>> int('10')
10

Tautan ke dokumentasi:

Masalahnya tampaknya berasal dari baris ini: d.str().

Konversi ke string dilakukan dengan built-in str() fungsi, yang pada dasarnya memanggil __str__() metode parameternya.

Juga, seharusnya tidak perlu dihubungi pow(). Coba gunakan ** operator.


1561
2018-06-07 10:24



Coba ini:

str(i)

79
2018-06-07 10:23



Tidak ada typecast dan tidak ada pemaksaan jenis dengan Python. Anda harus mengonversi variabel Anda secara eksplisit.

Untuk mengonversi objek dalam string yang Anda gunakan str() fungsi. Ia bekerja dengan objek apa pun yang memiliki metode yang disebut __str__() didefinisikan. Faktanya

str(a)

setara dengan

a.__str__()

Hal yang sama jika Anda ingin mengonversi sesuatu menjadi int, float, dll.


43
2018-06-07 10:30



a = 2

Kamu dapat memakai str(a) yang memberi Anda objek string int(2).


20
2018-02-10 18:47



Untuk mengelola input non-integer:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

Ok, jika saya mengambil kode terbaru Anda dan menulis ulang sedikit untuk membuatnya bekerja dengan Python:

t=raw_input()
c=[]
for j in range(0,int(t)):
    n=raw_input()
    a=[]
    a,b= (int(i) for i in n.split(' '))
    d=pow(a,b)
    d2=str(d)
    c.append(d2[0])
for j in c:
    print j

Ini memberi saya sesuatu seperti:

>>> 2
>>> 8 2
>>> 2 3
6
8

Yang merupakan karakter pertama dari hasil string pow(a,b). Apa yang coba kita lakukan di sini?


14
2018-06-07 10:32



>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5

12
2018-06-07 10:24



Cara yang paling layak menurut saya adalah ``.

i = 32   -->    `i` == '32'

6
2018-05-05 21:55