Найти - Пользователи
Полная версия: Почему str а не int ?
Начало » Python для новичков » Почему str а не int ?
1
zenook
Ребят, только начал изучать программирование и питон, нашел задачу с решением
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 число.
doza_and
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}."""
SergeyChmutov
doza_and
str не выводит строку (те не печатает на консоль) а создает. Плюсиками создается длинная строка которая затем печатается. А строки с целыми числами сложить нельзя.Пример делал человек который не знает что такое format.
Только f-строки в версии 3.6+, мне кажется стоит это указывать, а то новичка можно совсем в тупик завести.
py.user.next
zenook
нашел задачу с решением
zenook
почему нужно писать str, а не int ?
Это плохая привычка из PHP и JavaScript - суммировать всё для создания строки. Когда он перенёс своё мышление на питон, то он не смог суммировать так же, так как в питоне строгая типизация, которая не даёт суммировать строки с числами. Поэтому он начал преобразовывать типы, чтобы всё-таки реализовать свою привычку.

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