2016-05-31 2 views
0

Я хочу построить словарь для имен моего контакта и их телефонный номер:словарь значения, начинающиеся с нуля

contacts = {'name': 0500456} 

но он показывает сообщение об ошибке:

contacts = {'name': 0500456} SyntaxError: invalid token

Python3 думаю, что я хочу написать восьмеричное число , поэтому предлагаемый раствор был:

contacts = {'name': 0o500456} 

Но это не то, что мне нужно! Я хочу написать целые числа, начинающиеся с нуля в качестве значения словаря.

Есть ли решение! или я должен помещать их в строковые кавычки?

+5

Это должна быть строка. –

+0

@Resistory Когда у меня есть целое число, начинающееся с 0, оно говорит 'SyntaxError: invalid token' –

ответ

3

Вам нужно выбрать между сохранением целочисленного объекта и сохранением строкового объекта.

Выберите нулевой объект (500456), если вам нужно выполнить вычисления с использованием значения целого числа. Это не будет хранить какую-либо ведущую нулевую информацию, но если вам просто нужно фиксированное количество нулей в какой-то момент перед целым, вы всегда можете сделать '0' + str(), когда вам это нужно в этой форме.

Если вы действительно не используется целочисленное значение в вашей программе, и нужно просто плюнуть значение обратно позже с ведущими нулями, а затем идти вперед и преобразовать его в строкового объекта ('0500456') сразу же, как вы упомянули ,

Если вам нужно использовать значение целого числа, но число ведущих нулей является значительным, то либо сохранить его как строку, либо преобразовать в int() при необходимости, либо создать собственный класс, возможно, целочисленный подкласс, который хранит ведущая нулевая информация и включает ее, когда вызывается __str__().

Смежные вопросы