Курс: Python

Лекция: Проба пера, условный оператор, циклы

Для начала нужно проверить работу среды. И поэтому проверим ее на "Hello, World"

print("Hello world!")

Если проблем не возникло, то проверим работу интерактивного ввода данных и работу кодировки:

name = input ("Ваше имя ")
print("Привет, ", name,"!")

Условный оператор

Попробуем синтаксис if:

a = input ("Первое целое число ")
b = input ("Второе целое число ")
if (int(b) !=0):
    print(a,"/",b,"=",int(a)/int(b))

И вариант с else:

a = input ("Первое целое число ")
b = input ("Второе целое число ")
if (int(b) !=0):
    print(a+"/"+b+"=",int(a)/int(b))
else:
   print ('Ошибка: Деление на ноль недопустимо.')

Обратите внимание на различие в поведении + и , внутри конструкции print.

В языке Python нет конструкции switch case. Во многих случаях помогает вариант if-elif-else:

name = input ("Ваше имя ")
if (name == "Ваня"):
    print ("Ваш пол мужской")
elif (name == "Аня"):
    print ("Ваш пол женский")
else:
    print ("Не могу определить ваш пол")

Задание 1.1. Калькулятор v1

Необходимо запросить у пользователя два числа и операцию. В качестве операций вводятся символы +, -, *, /. Нужно вывести результат вычислений.

Тернарный оператор

В языке python есть тернарный оператор if else:

a = 1 if b>2 else 2

Переменной a будет присвоено значение 1 если b>2 иначе, будет присвоено 2.

Циклы

Из стандартных циклов в Python есть цикл while:

i = 1
while (i<=10):
    print (i)
    i += 1

Цикл for тоже есть, но по сути это аналог цикла foreach. Например можно вывести значения элементов списка. Необычно, что элементами списка могут быть переменные разных типов. Это видно на примере.

a = [1,2,"три",4]
# При помощи квадратных скобок создаются списки
for i in a:
    print (i)

Для работы с привычным циклом for придется воспользоваться конструкцией for i in range.

a = [1,2,"три",4]
#range(3) последовательно вернет числа 0,1,2
for i in range(3):
    print (a[i])

Range кроме Range(stop) имеет еще два варианта записи Range(start,stop) и Range(start,stop,step).

Задание 1.2. Таблица Пифагора

Вывести таблицу Пифагора с учетом выравнивания столбцов:

    2  3  4  5  6  7  8  9 
 2  4  6  8 10 12 14 16 18 
 3  6  9 12 15 18 21 24 27 
 4  8 12 16 20 24 28 32 36 
 5 10 15 20 25 30 35 40 45 
 6 12 18 24 30 36 42 48 54 
 7 14 21 28 35 42 49 56 63 
 8 16 24 32 40 48 56 64 72 
 9 18 27 36 45 54 63 72 81

Так же как и в других языках в python есть конструкции continue и break:

for i in range (15,0,-1):
    if (i%2 == 0):
        continue
    print (i)
    if (i**2 ==9):
        break

В циклах python есть конструкция else, которая выполняется если цикл не был завершен командой break.

n = int(input("Целое число "))
for i in range (n,2*n):
    s = i**(0.5)
    if (s-int(s)==0):
        print ("Первый корень",i)
        break
else:
    print ("Между",n,"и",2*n,"квадратных корней нет")

Задание 1.3. Треугольные числа

Проверить является ли введенное пользователем число треугольным.