Вывод значений print с новой строки
Стояла задача сделать простой калькулятор с простейшими операциями. Получился такой код:
print ('Введите число 1')
str1= int(input())
print ('Введите число 2')
str2= int(input())
print ('Сложение = ', str1+str2, 'Вычитание = ', str1-str2, 'Умножение = ', str1*str2, 'Деление = ', str1/str2, 'Возведение в степень = ', str1**str2, end='\n' )
Особенность задания в том, что при выводе нужно использовать только одну команду print
, но результат по каждой операции должен быть выведен с новой строки. Использовал end='\n'
, но похоже как-то неправильно, вывод получается одной строкой. Как сделать так, что бы значения выводились с новой строки?
Ответы (3 шт):
Допустим, вывод значений в новой строке при помощи 1 print, можно сделать так:
str1 = int(input('Введите число 1: '))
str2 = int(input('Введите число 2: '))
# Используем \n как разделитель строки
print(f'Сложение = {str1+str2}\nВычитание = {str1-str2}\nУмножение = {str1*str2}\nДеление = {str1/str2}\nВозведение в степень = {str1**str2}')
# используем sep='\n' как разделитель значений print
print(f'Сложение = {str1+str2}', f'Вычитание = {str1-str2}', f'Умножение = {str1*str2}', f'Деление = {str1/str2}', f'Возведение в степень = {str1**str2}', sep='\n')
Ну и лишние print убраны и помещены в input
Тут нужно использовать не end, а sep и как бонус добавить f-строк.
sep — это строка, которую необходимо вставлять между значениями, по умолчанию — пробел.
str1= 3
str2= 2
print (f'Сложение = {str1+str2}', f'Вычитание = {str1-str2}', f'Умножение = {str1*str2}', f'Деление = {str1/str2}', f'Возведение в степень = {str1**str2}', sep='\n' )
Вывод:
Сложение = 5
Вычитание = 1
Умножение = 6
Деление = 1.5
Возведение в степень = 9
Также можно разделить слова запятыми или добавить два символа новой строки (\n), что приведет к появлению пустой строки между каждой строкой с текстом или:
str1= 3
str2= 2
print ('Калькулятор:',f'Сложение = {str1+str2}', f'Вычитание = {str1-str2}', f'Умножение = {str1*str2}', f'Деление = {str1/str2}', f'Возведение в степень = {str1**str2}', sep='\n ---' )
Вывод:
Калькулятор:
---Сложение = 5
---Вычитание = 1
---Умножение = 6
---Деление = 1.5
---Возведение в степень = 9
print ('Введите число 1')
str1= int(input())
print ('Введите число 2')
str2= int(input())
print (f'Сложение = {str1+str2}', 'Вычитание = {str1-str2}', 'Умножение = {str1*str2}', 'Деление = {str1/str2}', 'Возведение в степень = {str1**str2}, sep='\n' )
Использованы f-строки. Это конструкции, позволяющие вставлять значение переменной в текст строки без дополнительного перевода.
Также параметр end нужно заменить на параметр sep. Он устанавливает разделитель между введёнными строками.