Решение модуля 1.6 Инди-курс программирования на Python
Модуль 1.6 (Функция print()) научит использовать функцию print() которая позволяет вывести на экран значения.
Ниже представлены примеры задач с решением на тему Функция print ().
Как называется параметр в функции print, который отвечает за разделяющие символы?
Как называется параметр в функции print, который отвечает за значение, которое будет выведено в конце?
Напишите программу, которая выводит на экран сообщение «Привет, Мир!»
print(«Привет, Мир!»)
Введите три числа и выведите их через запятую
a, b, c = map(int, input().split()) print(a, b, c, sep = ‘,’)
Программа, считывает натуральное число n, после чего выводит двойное неравенство этого числа с его соседними числами.
a = int(input()) print(a — 1, a, a + 1, sep='<‘)
Вам необходимо вывести три фразы, разделяя их тремя дефисами. Сами фразы вводятся с клавиатуры на трех разных строчках
4.1 Наименьшее из четырёх чисел. «Поколение Python»: курс для начинающих. Курс Stepik
a = input() b = input() c = input() print(a,b,c,sep = ‘—‘)
В этой задаче мы сами будем решать, какое значение использовать в качестве разделителя в параметре sep
Программа принимает на вход строку — разделитель, вам необходимо распечатать числа от 1 до 5, выводя между ними введенный разделитель
s = input() print(1,2,3,4,5, sep=s)
Что будет напечатано в результате выполнения данной программы?
print(‘Гвидо’, ‘Ван’, ‘Россум’, sep=’*’, end=’-‘)
print(‘Основатель’, ‘Питона’, sep=’_’, end=’!’)
Гвидо*Ван*Россум-Основатель_Питона!
Источник: zazloo.ru
Пошаговый режим
Вы запускаете программу, Паскаль на ошибки не жалуется, но результаты вас не удовлетворяют. Предположим, что внимательно просмотрев программу, ошибку вы не обнаружили. Все. Вы в тупике.
На случай возникновения таких ситуаций Паскаль предлагает ряд отладочных средств. Я начну с пошагового режима.
Идея пошагового режима вот в чем. Компьютер слишком быстро выполняет программу и человек не успевает проследить «за ходом его мыслей». Хорошо бы мы сами задавали темп выполнения программы. Тогда ошибку обнаружить было бы значительно легче.
Рассмотрим задачу из 1.1: В компьютер вводятся два произвольных положительных числа — длины сторон двух кубиков. Компьютер должен подсчитать объем одного кубика — большего по размеру . Обозначаем a1- сторону одного кубика,a2- сторону другого,V- объем кубика. Приведем второй вариант программы:
VARa1,a2,V : Real;
then V:=a1*a1*a1
else V:=a2*a2*a2;
Запускайте программу, но не обычным образом, а клавишей F7, которая является более быстрым способом вызова менюRunTrace into. (Кстати, обратите внимание, что справа от многих опций меню обозначены «горячие» клавиши, которыми эти опции можно быстро вызывать.) Паскаль откомпилирует вашу программу и сделает паузу перед началом выполнения программы, подсветив горизонтальной полосой строкуBEGIN.
2.4 Следующее и предыдущее. «Поколение Python»: курс для начинающих. Курс Stepik
Еще раз F7. Ничего не происходит, только полоса подсветки прыгает на следующую строку. В ней находится первый исполняемый оператор вашей программы –ReadLn (a1,a2).
Итак, правило простое – при нажатии на F7 Паскаль выполняет одну строку программы и подсвечивает ту строку, которой предстоит быть выполненной.
F7. Паскаль выполняет ReadLn (a1,a2), в результате чего у вас, как и при обычном выполнении программы, во весь экран распахивается черное окно пользователя. Оператор требует ввода двух чисел. Введите, например, 5 и 4, не забыв нажать на клавишу ввода. Окно пользователя пропадет, снова возникнет окно редактора и вы увидите, что серая полоса подсветки перескочила на строкуif a1>a2.
F7. Паскаль выполняетif a1>a2, в результате чего полоса прыгает наthen V:=a1*a1*a1, так как 5>4.
F7. Полоса перепрыгивает черезelse V:=a2*a2*a2и попадает наWriteLn (V : 15:5).
F7. Паскаль выполняет WriteLn (V : 15:5), в результате чего печатается результат, а полоса перескакивает на строкуEND.
F7. Полоса пропадает. Программа выполнена. Посмотрим на результат при помощиAlt-F5.
Теперь еще раз выполните ту же программу в пошаговом режиме. Но когда ReadLn (a1,a2) потребует двух чисел, введите 2 и 3. Теперь уже послеif a1>a2 полоса прыгает не наthen V:=a1*a1*a1,а наelse V:=a2*a2*a2.
В любой момент пошагового выполнения программы вы можете вместо F7 выбратьRunRun (клавишиCtrl-F9) и программа продолжит выполняться в обычном режиме. Чтобы прервать пошаговый режим, выберитеRunProgram reset (клавишиCtrl-F2).
Работа с окнами пользователя и отладчика
Предположим, у вас не получается задание из 2.1- определить без компьютера, что будет печатать следующая программа:
LABEL m1,met5; VAR n,k : Integer; BEGIN n:=10;
m1: Write(‘ зайцев ‘);
Ответ: Эта программа должна печатать:
Считаем зайцев 10 зайцев
С ответом у вас не сходится. Значит, вы чего-то не понимаете. Чего? Чтобы определить это, вы вводите программу в компьютер. Он печатает все, как в ответе. Почему? Вероятно, вы не понимаете, как изменяются в процессе выполнения программы значения переменных n иk.
Хорошо бы можно было подсмотреть за их значениями в оперативной памяти. Хорошо бы также напечатанные результаты не пропадали с экрана, а были бы всегда перед глазами.
Проделайте следующее. (При дальнейшем объяснении я буду предполагать, что вы умеете обращаться с несколькими окнами на экране. Кто не умеет, читайте следующий параграф.)
Сузьте окно вашей программы так, чтобы оно освободило примерно половину ширины экрана. Далее — DebugOutput. Перед вами появляется черное окно пользователя, в котором вы привыкли наблюдать результаты, но в уменьшенном виде. Измените его размер и отбуксируйте на свободное место экрана.
Далее — DebugWatch. Перед вами появляется окно отладчика, в котором вы будете наблюдать значения переменных величин в оперативной памяти. Измените его размер и отбуксируйте на оставшуюся часть экрана.
Вот как будет выглядеть ваш экран после всех манипуляций (и уже после нескольких выполнений цикла в пошаговом режиме, о чем дальше):
Вы сами должны сказать Паскалю, за какими переменными хотите следить. Очевидно, в вашем случае это n иk. Ваши действия:DebugAdd watch… ,запишите имяn в открывшемся диалоговом окне и – щелчок по кнопкеOK. В окне отладчика появится сообщениеn:7илиn:0 или какое-нибудь другое число или сообщение. Не обращайте на это внимания.
Повторите всю процедуру сk.
Теперь можно запускать программу на выполнение в пошаговом режиме. Для этого нажмите на F7. Паскаль откомпилирует вашу программу, возможно, изменит значения в окне отладчика и сделает паузу перед началом выполнения программы, подсветив горизонтальной полосой строкуBEGIN.
F7. Паскаль, возможно, обнулит значения в окне отладчика. Полоса подсветки прыгает на следующую строку. В ней находится первый исполняемый оператор вашей программы –n:=10.
Итак, правило простое – при нажатии на F7 Паскаль выполняет одну строку программы и подсвечивает ту строку, которой предстоит быть выполненной.
F7. Паскаль выполняет n:=10, в результате чего в окне отладчика значениеn меняется на 10, а серая полоса прыгает на строкуk:=0.
F7. Паскаль выполняет k:=0, в результате чего в окне отладчика значениеk становится равным 0, а полоса прыгает на строкуWriteLn(‘Считаем зайцев’ ).
F7. Паскаль выполняет WriteLn(‘Считаем зайцев’ ), в результате чего в окне пользователя появляется напечатанный текстСчитаем зайцев, а полоса прыгает на строкуmet5: Write(n).
F7. Паскаль выполняет Write(n). В окне пользователя в новой строке появляется число 10, так как в оперативной памятиnравно 10 (об этом нам говорит окно отладчика). а полоса прыгает на строкуn:=n+k.
F7. Паскаль выполняет n:=n+k, в результате чего в окне отладчика значениеn остается равным 10, так как в оперативной памятиkравно 0. Полоса прыгает на строкуgoto m1.
F7. Паскаль выполняет goto m1. Полоса перепрыгивает на строкуm1: Write(‘ зайцев ‘).
F7. Паскаль выполняет Write(‘ зайцев ‘ ), в результате чего в окне пользователя справа от числа 10 появляется текстзайцев, а полоса прыгает на строкуReadLn.
F7. Паскаль выполняет ReadLn, в результате чего окно пользователя распахивается на весь экран иReadLnждет, когда вы нажмете на клавишу ввода. Вы нажимаете – и полоса прыгает на строкуk:=k+1.
F7. Паскаль выполняет k:=k+1, в результате чего в окне отладчика значениеk меняется на 11. Полоса прыгает на строкуgoto met5.
F7. Паскаль выполняет goto met5. Полоса перепрыгивает вверх, на строкуmet5: Write(n).
Если ваша программа рисует что-то в графическом режиме, то, к сожалению, при описанном способе работы картинки видны не будут.
Если в вашей программе есть подпрограммы, то серая полоса проникнет и внутрь подпрограмм и будет скакать там, как ни в чем не бывало. Таким образом, вы сможете анализировать и работу подпрограмм. Если же вы не хотите утомлять себя прыжками внутри подпрограмм, нажимайте не F7, аF8.
Тогда Паскаль будет выполнять подпрограмму мгновенно в автоматическом режиме и серая полоса будет путешествовать только внутри основной программы. Вы можете свободно чередовать нажатияF7иF8. КлавишаF7будет направлять вас «вглубь» подпрограмм, аF8- «наружу».
Источник: studfile.net