Python Златопольский 1-6

#Глава 2
#Python. Первые шаги

print("Hello World!") #комментарий

import turtle #импорт модуля
turtle.reset() #инициализация модуля. Метод turtle.reset() удаляет рисунки всех перьев с холста/экрана, перемещает перо/карандаш в начало координат и устанавливает для переменных пера значения по умолчанию.

turtle.down() #перо опустить
turtle.forward(100) #двигаться
turtle.left(90) #повернуть влево на х градусов
turtle.right(90) #повернуть вправо на х градусов
turtle.up() #перо поднять

turtle.reset()#очищает холст, НЕ меняет положения пера,

turtle.goto(0,0) #перейти по координатам
turtle.width(10) #толщина пера
turtle.backward(100) #пятиться


turtle.clear()
input()# комп ждёт ввода данных. Заодно он не закроет окно с черепашкой

Python Златопольский 3

#Глава 3
#Вывод информации на экран

print("qqq".upper()) #принцип объекта и метода

#сепаратор
print(11,"синиц и",9,"воробьев") #сепаратор по умолчанию - обычный пробел
print(11,"синиц и",9,"воробьев", sep=', эээ, ') # изменённый сепаратор
print(11,"синиц и",9,"воробьев", sep='') # пустой сепаратор

#окончание
print("птичка") # окончание по умолчанию - перенос строки
print("") #просто пустая строка
print() #просто перенос
print("рыбка", end='') # изменённое окончание

#сепаратор и окончание одновременно
print("мышка","мышка","мышка",sep=' >.< ',end='') 


#округление
print(0.9999999999999999) #максимум, сколько питон выводит
print(0.99999999999999999)#уже округляет

#Форматирование: кол-во знаков после запятой.
# Обрати внимание на округление.
# Ёщё обрати внимание на отступ для знака "-".
# "+" не ставится, но место для него есть! (если поставить пробел заранее)
#Кстати, f - это float, т.е., дробное число
print('%.3f'% 0.888888)
print('% .3f'% 0.888888)# Кстати, тут можно поставить пробел!
print('%    .3f'% 0.888888)# увы, только один пробел... :-(
print('%.3f'% -0.999999)
print('%.3f'% 0.999999) 
print('%.3f'% 0.666666)
print('%.3f'% 0.555555)
print('%.3f'% 0.123456)

#Обратная ситуация: добавляем разряды, хотя они и не особо тут нужны
print('%.6f'% 0.123)
print('%.6f'% 0.123)


#Кол-во знаков до запятой/ дробь не отображается, идёт округление
#Если знаков меньше - то слева останутся пробелы
#Если знаков больше - то Python плюет на ограничения.
print('%5.f'% -775533.6)
print('%5.f'% -77553.6)
print('%5.f'% -7755.6)
print('%5.f'% -775.6)
print('%5.f'% -77.6)
print('%5.f'% -7.6)
print('%5.f'% -7)

# а теперь всё вместе!
print('%8.3f'% -775533.613462)
print('%8.3f'% -77553.61346)
print('%8.3f'% -7755.6134)
print('%8.3f'% -775.613)
print('%8.3f'% -77.61)
print('%8.3f'% -7.6)
print('%8.3f'% -7)

# а теперь несколько штук! Попробуй сам разные комбинации!
print('%8.3f'% -775533.613462, '%4.f'% 51324)
print('%8.3f'% -77553.61346, '%4.f'% 5132)
print('%8.3f'% -7755.6134, '%4.f'% 513)
print('%8.3f'% -775.613, '%4.f'% 51)
print('%8.3f'% -77.61, '%4.f'% 5)

#десятичное форматирование
#d - decimal
print(5)        #всё ОК
print('%1d'% 5) #всё ОК
print('%2d'% 5) #начался отступ слева (там свободные разряды)
print('%3d'% 5)


# метод format()
print("у меня {} бананов".format(5))
print("у меня {} бананов и {} яблок".format(5,6))

#всунем форматирование в метод format()
print("у меня {:2d} бананов".format(5))

# восьмеричный, двоичный и шестнадцатеричный формат
print("двоичный: {0:b}, восьмеричный: {0:o}, 16-ричный: {0:x}".format(12))

Python Златопольский 4-5

#Глава 4
#Переменные величины. Ввод данных. Присваивание - 1

# множественное создание и присваивание значений
x=y=5

# множественное присваивание: читерский обмен :-)
a=2
b=3
print(a,b)
a,b=b,a
print(a,b)

# читерский квадратный корень  :-)
a=9
print(a**0.5)

# модуль числа
x=abs(-5)
y=abs(5)
print(x)
print(y)

#Глава 5
#Варианты действий в программе

# перенос в коде
 # без переноса
x=5+5+5+5+5
+5+5+5+5+5
print(x)

# с переносом (оборатный слэш)
x=5+5+5+5+5\
+5+5+5+5+5
print(x)

 # с переносом (скобки)
x=(5+5+5+5+5
+5+5+5+5+5)
print(x)

#двойные неравенства в Python
x=5
y=3
z=1
if y>z and y<x:
    print("Y - крепкий середнячок")
if x>y>z:
    print("Y - крепкий середнячок")

#функция range возвращает специальный диапазон
#это особый тип данных range
#range применяют не только в циклах...
#... но и в неравенствах!
print(range(5))
print( type(range(5)) )
if y in range(4):
    print("Y попал в диапазон Range!")
    
# есть ли "а" в строке?
stroka="абвгда"
print(stroka.count("а")) # покажет количество вхождений
if "а" in stroka: # "сахарный" синтаксис применим к строке!
    print("да, есть!")

#искать в строке можно и через переменную
litera="а"
print(stroka.count(litera))

#функция max - возвращает максимальное значение
x=2
y=8
z=1
maxx=0
maxx=max(x,y,z)
print(maxx)
#в коде с max() нельзя использовать переменную max.
# Python будет их путать :-(

x=5
y=5
if x is y:
    print("x is y (5 это 5)")

    
x=[5]
y=[5]
if x is y:
    print("x is y ([5] это [5])")

Python Златопольский 6

#Глава 6
#Повторение действий в программе

#в цикле for, кроме range(), есть многое другое! :-)
for i in range(5):
    print(i)
    
print()

for i in 8,6,4:
    print(i)
    
print()

for i in "cat",True,15:
    print(i)
    
print()

for i in "rat":
    print(i)
    
print()

for i in [22,33,44]:
    print(i)
    
print()

print(i) #Кстати, значение счётчика сохраняется. Но на next-цикле он будет "обнуляться". Поэтому, если это не "цикл-в-цикле" - нет нужды в дополнительном счётчике! Пример - выше, там везде i.
    
print()


#Задача:
#Определить кол-во трехзначных чисел, сумма цифр которых равна s
count=0
s=9
for i in range(100,1000):
    x=str(i)
    summ=int(x[0])+int(x[1])+int(x[2])
    if summ==s:
        print(i,summ)
        count+=1
print("кол-во трехзначных чисел, сумма цифр которых равна",s,": ",count)

print()
Прокрутить вверх