Frage Konvertieren von Integer in String in Python?


Ich möchte eine ganze Zahl in eine Zeichenfolge in Python konvertieren. Ich schreibe es vergebens:

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

Wenn ich versuche, es in eine Zeichenfolge zu konvertieren, wird ein Fehler angezeigt int hat kein Attribut namens str.


993
2018-06-07 10:22


Ursprung


Antworten:


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

Links zur Dokumentation:

Das Problem scheint von dieser Linie zu kommen: d.str().

Die Umwandlung in eine Zeichenfolge erfolgt mit dem eingebauten str() Funktion, die im Grunde die ruft __str__() Methode seines Parameters.

Außerdem sollte es nicht notwendig sein, anzurufen pow(). Versuchen Sie es mit dem ** Operator.


1561
2018-06-07 10:24



Versuche dies:

str(i)

79
2018-06-07 10:23



In Python gibt es keine Typumwandlung und keine Typumwandlung. Sie müssen Ihre Variable explizit konvertieren.

Um ein Objekt in einer Zeichenfolge zu konvertieren, verwenden Sie die str() Funktion. Es funktioniert mit jedem Objekt, das eine Methode aufgerufen hat __str__() definiert. Eigentlich

str(a)

ist äquivalent zu

a.__str__()

Das Gleiche, wenn Sie etwas in int, float usw. konvertieren möchten.


43
2018-06-07 10:30



a = 2

Sie können verwenden str(a) das gibt Ihnen ein String-Objekt von int(2).


20
2018-02-10 18:47



So verwalten Sie nicht ganzzahlige Eingaben:

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

Ok, wenn ich deinen neuesten Code nehme und ein wenig umschreibe, um es mit Python zu arbeiten:

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

Es gibt mir etwas wie:

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

Welches sind die ersten Zeichen des String-Ergebnisses? pow(a,b). Was versuchen wir hier zu tun?


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



Der anständigste Weg ist meiner Meinung nach ".

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

6
2018-05-05 21:55