Преобразование числа в строку в Python?
Я хочу преобразовать целое число в строку в Python. Я пишу его напрасно:--4-->
d = 15
d.str()
когда я пытаюсь преобразовать его в строку, он показывает ошибку, как int
не имеет никакого атрибута с именем str
.
10 ответов
>>> str(10)
'10'
>>> int('10')
10
ссылки на документацию:
проблема, кажется, исходит из этой строки:d.str()
.
преобразование в строку выполняется с помощью builtin str()
функция, которая в основном называет __str__()
метод его параметра.
кроме того, не должно быть необходимости звонить pow()
. Попробуйте использовать **
оператора.
в Python нет typecast и нет принуждения типа. Вы должны преобразовать свою переменную явным образом.
для преобразования объекта в строку вы используете
для управления нецелыми входами:
number = raw_input()
try:
value = int(number)
except ValueError:
value = 0
хорошо, если я возьму ваш последний код и перепишу немного, чтобы заставить его работать с 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
это дает мне что-то вроде:
>>> 2
>>> 8 2
>>> 2 3
6
8
который является первым символом результата строки pow(a,b)
.
Что мы пытаемся здесь сделать?
>>> 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
в Python => 3.6 вы можете использовать f
форматирование:
>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
для тех, кто хочет преобразовать int в строку в определенных цифрах, рекомендуется следующий метод.
month = "{0:04d}".format(localtime[1])
для получения дополнительной информации вы можете обратиться к вопросу переполнения стека отобразить число с ведущими нулями.