Найти - Пользователи
Полная версия: Вопрос по функции format
Начало » Python для новичков » Вопрос по функции format
1
trevaldo
Здравствуйте.
На этот вопрос меня сподвигла задача из питонтьютора:
“Дано натуральное число. Выведите его последнюю цифру”
Как я понимаю, решается эта задача так:
 a = int(input())
print(a % 10)

Теперь сам вопрос. Как сделать то-же самое, только с помощью функции format?
Не бейте сильно, но я честно просмотрел документацию и так ничего и не понял.
мой говнокод не работает:
 a=str(input())
c=len(a)
print ('{c-1}'.format (*a))
Тыкните меня лицом в нужный раздел, плиз.
rami
 a=input()
print('{}'.format(a[-1]))
trevaldo
Спасибо
PEHDOM
rami
 print('{}'.format(a[-1]))
а чем оно отличаеться от просто?
 print(a[-1])
Я так понимаю вывести последнюю цифру нужно именно с помощью метода format

trevaldo Вобщем вы на верном пути были, вам чуть чуть не хватило чтобы оно заработало.
 print ('{c-1}'.format (*a))
дело в том что то что в кавычках это строка, и она никак не завязана на вашу переменную “с”
а сделать вот такт
 print('{0[-1]}'.format(*'1234'))
оно к сожалению не дает, это старый баг или фитча , известная еще с 2010-го года…
https://bugs.python.org/issue7951
поэтому нужно сначала , создать строку-шаблон, высчитать длинну строки, заменить в строке-шаблоне индекс,на нужный, и вызвать формат.
 #s=input()
s='1234'
last_ind=len(s)-1
format_srt='{[_N_]}'.replace('_N_', str(last_ind))
print(format_srt.format(s))
>>> 
4
>>> 

Rodegast
ФОРМАТ НЕ НУЖЕН!
 >>> str(100509)[-1]
'9'
PEHDOM
Rodegast
ФОРМАТ НЕ НУЖЕН!
понятно что не нужен, достаточно среза, но человек учиться, ему поставили задачу, как все учебные задачи, она бессмыслена и беспощадна, но как любую учебную задачу ее нужно выполнить ровно тем способом какой указан в задаче, не смотря на то, что существуют более простые и понятные решения.
trevaldo
PEHDOM
Огромное спасибо, за разъяснения. А задачу я сам себе поставил. Оно может быть и не надо было, но я прочитал, что % уже не рекомендуются к использованию и стало интересно, каким образом это описать по новому.
Rodegast
Благодарю. Учту на будущее.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB