Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2019 12:59:14

trevaldo
Зарегистрирован: 2019-06-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по функции format

Здравствуйте.
На этот вопрос меня сподвигла задача из питонтьютора:
“Дано натуральное число. Выведите его последнюю цифру”
Как я понимаю, решается эта задача так:

 a = int(input())
print(a % 10)

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

Офлайн

#2 Июнь 14, 2019 13:30:40

rami
Зарегистрирован: 2018-01-08
Сообщения: 280
Репутация: +  71  -
Профиль   Отправить e-mail  

Вопрос по функции format

 a=input()
print('{}'.format(a[-1]))

Офлайн

#3 Июнь 14, 2019 13:35:05

trevaldo
Зарегистрирован: 2019-06-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по функции format

Спасибо

Офлайн

#4 Июнь 14, 2019 14:22:45

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вопрос по функции format

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
>>> 



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 14, 2019 14:29:07)

Офлайн

#5 Июнь 14, 2019 14:24:45

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Вопрос по функции format

ФОРМАТ НЕ НУЖЕН!

 >>> str(100509)[-1]
'9'



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Июнь 14, 2019 14:26:43

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вопрос по функции format

Rodegast
ФОРМАТ НЕ НУЖЕН!
понятно что не нужен, достаточно среза, но человек учиться, ему поставили задачу, как все учебные задачи, она бессмыслена и беспощадна, но как любую учебную задачу ее нужно выполнить ровно тем способом какой указан в задаче, не смотря на то, что существуют более простые и понятные решения.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 14, 2019 14:33:00)

Офлайн

#7 Июнь 14, 2019 14:35:19

trevaldo
Зарегистрирован: 2019-06-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по функции format

PEHDOM
Огромное спасибо, за разъяснения. А задачу я сам себе поставил. Оно может быть и не надо было, но я прочитал, что % уже не рекомендуются к использованию и стало интересно, каким образом это описать по новому.
Rodegast
Благодарю. Учту на будущее.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version