Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 6, 2019 07:38:52

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

Почему str а не int ?

Ребят, только начал изучать программирование и питон, нашел задачу с решением
n = int(input())
print('The next number for the number ‘ + str(n) + ’ is ‘ + str(n + 1) + ’.')
print('The previous number for the number ‘ + str(n) + ’ is ‘ + str(n - 1) + ’.')

почему нужно писать str, а не int ? str по идее должна выводить строку полностью. а int число.

Офлайн

#2 Июнь 6, 2019 08:24:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Почему str а не int ?

str не выводит строку (те не печатает на консоль) а создает. Плюсиками создается длинная строка которая затем печатается. А строки с целыми числами сложить нельзя.

Пример делал человек который не знает что такое format.

 n=3
s=f"""The next number for the number  {n} is {n + 1}.
The previous number for the number {n} is {n - 1}."""



Отредактировано doza_and (Июнь 6, 2019 08:26:42)

Офлайн

#3 Июнь 6, 2019 09:48:17

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему str а не int ?

doza_and
str не выводит строку (те не печатает на консоль) а создает. Плюсиками создается длинная строка которая затем печатается. А строки с целыми числами сложить нельзя.Пример делал человек который не знает что такое format.
Только f-строки в версии 3.6+, мне кажется стоит это указывать, а то новичка можно совсем в тупик завести.

Офлайн

#4 Июнь 6, 2019 12:09:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему str а не int ?

zenook
нашел задачу с решением
zenook
почему нужно писать str, а не int ?
Это плохая привычка из PHP и JavaScript - суммировать всё для создания строки. Когда он перенёс своё мышление на питон, то он не смог суммировать так же, так как в питоне строгая типизация, которая не даёт суммировать строки с числами. Поэтому он начал преобразовывать типы, чтобы всё-таки реализовать свою привычку.

В питоне используй форматную строку
  
print('The next number for the number {} is {}.'.format(n, n + 1))



Отредактировано py.user.next (Июнь 6, 2019 12:12:59)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version