Motor 0.5 (асинхронный драйвер для MongoDB) доехал до релиза.
Новая версия работает с asyncio.
Всем рекомендую
Автор: Andrew Svetlov
Motor 0.5 (асинхронный драйвер для MongoDB) доехал до релиза.
Новая версия работает с asyncio.
Всем рекомендую
Автор: Andrew Svetlov
Он взял libuv и построил с её помощью uvloop — asyncio совместимый event loop.
Результаты замера производительности здесь.
Получается, что uvloop в 3.5 раза быстрее стандартного и в 1.25 раза обгоняет gevent.
Т.е. абсолютный победитель по скорости в мире Python.
Библиотека пока еще не имеет стабильной версии, скоро всё будет.
Автор: Andrew Svetlov
# coding=utf-8
# Программа считает числа из заданного интервала, значения которых задает пользоваетель.itog = int(«0»)
first = int(input(«Введите начальное значение: «))
last = int(input(«Введите последнее значение: «))
interval = int(input(«Введите интервал между
целыми числами: «))
last += 1
for i in range(first, last, interval):
itog += i
print(«Сумма введеных вами чисел: «, itog)
input(«nnВведите Enter, чтобы выйти…»)
# coding=utf-8
# Программа, которая принимает текст
пользовательского ввода и печатает его наоборот
message = str(input(«Введите любой текст и вы
получите его наоборот: «))
new_message = «»
for i in message[::-1]:
new_message += i
print(«А вот ваш новый текст:», new_message)
input(«nnНажмите Enter, чтобы выйти из программы…»)
- # coding=utf-8
- import random
- # Создадим последовательность слов, из которых компьютер будет выбирать
- WORDS = («питон»,
- «анаграмма»,
- «простая»,
- «сложная»,
- «ответ»,
- «подстаканник»)
- # случайным образом выбираем из последовательности одно слово
- word = random.choice(WORDS)
- # Создадим переменную, с которой будет сопоставлена версия игрока
- correct = word
- # Создаем переменную и подсказку, которая будет появляться при запросе игрока «Не знаю»
- i_dont_know = «Не знаю»
- podskazka = word[0] + word[1] + word[2]
- # создаем анаграмму выбранного слова, в которой буквы будут расставлены хаотично
- jumble = «»
- while word:
- position = random.randrange(len(word))
- jumble += word[position]
- word = word[:position] + word[(position + 1):]
- # Создаем очки для игроков. Те, кто не использовал подсказку, получают больше.
- scores = 10
- # Начало игры
- print(
- «»»
- Добро пожаловать в игру 'Анаграммы'!
- Надо переставить буквы так, чтобы получилось осмысленное слово.
Если вам нужна подсказка введите: «Не знаю».- Но учтите, если вы не будете использовать подсказку, кол-во заработанных очков будет больше.
- (Для выхода нажмите Enter, не вводя своей версии.)
- «»»
- )
- print(«Вот анаграмма: «, jumble)
- guess = input(«nПопробуйте отгадать исходное слово: «)
- while guess != «» and guess != correct:
- if guess != correct and not guess == i_dont_know:
- print(«К сожалению, вы неправы.»)
- if guess == i_dont_know:
- scores —= 5
- print(«nПодсказка! Первые три буквы слова!», podskazka)
- guess = input(«Попробуйте отгадать исходное слово: «)
- if guess == correct:
- print(«Да, именно так! Вы отгадали!n«)
- # Если игрок слишком часто использовал подсказку (что странно, ведь она одна и та же), избегаем отрицательного значения
- # приводя к нулю
- if scores < 0:
- scores = 0
- print(«Спасибо за игру! У вас», scores, «очков!»)
- input(«nnНажмите Enter, чтобы выйти…»)
- # coding=utf-8
- import random
- # Создадим последовательность слов, из которых компьютер будет выбирать
- WORDS = («питон»,
- «анаграмма»,
- «простая»,
- «сложная»,
- «ответ»,
- «подстаканник»)
- # случайным образом выбираем из последовательности одно слово
- word = random.choice(WORDS)
- print(«ttЗдравствуй игрок!»)
- print(«Попробуй угадать с пяти попыток слово, которое загадал компьютер.»)
- print(«Ты можешь спрашивать, есть ли определенная буква в слове. А потом скажешь слово.»)
- print(«Итак, поехали!»)
- print(«nКоличество букв в слове:», len(word))
- # Цикл отгадывания букв
- tries = 5
- letter = ()
- while tries >= 1:
- letter = str(input(«В загаданном слове есть буква: «))
- if letter not in word:
- tries —= 1
- print(«nВы ошиблись, такой буквы нет в слове!»)
- print(» У вас осталось», tries, «попыток(ки)!»)
- if letter in word:
- tries —= 1
- print(«nВы угадали, эта буква есть в слове!»)
- print(«У вас осталось», tries, «попыток(ки)!»)
- # Вторая часть отгадывания.
- i_dont_know = «Не знаю»
- print(«nВаши 5 попыток закончились, вы готовы угадать слово?»)
- print(«Если вы сдались и не хотите продолжать, напишите 'Не знаю'.»)
- correct = (input(«nЭто слово: «))
- while correct != word:
- print(«Попробуйте еще раз!»)
- correct = (input(«nЭто слово: «))
- if correct == word:
- print(«nПоздравляю! Вы выиграли!»)
- if correct == i_dont_know:
- print(«nОчень жаль!»)
- break
- input(«nНажмите Enter, чтобы выйти…»)
Автор: Alek Azimov
# Задание: Написать программу симулятор пирожка с "сюрпризом", #которая бы при запуске отображала один из пяти различных "сюрпризов", #выбранных случайным образом. print("ttttДобрый вечер!") print("Вы, как 100-ый клиент за день, получаете пирожок с секретной начинкой!") print("У нас 5 секретных начинок, и мы не знаем какая вам достанется. Удачи!n") import random stuffing = random.randint(1, 5) if stuffing == 1: print("Вам попалась начинка с рисом и яйцом! Поздравляю!") elif stuffing == 2: print("Вам попалась начинка с курагой! Поздравляю!") elif stuffing == 3: print("Вам попалась начинка с картошкой! Поздравляю!") elif stuffing == 4: print("Вам попалась начинка с сосиской! Поздравляю!") elif stuffing == 5: print("Вам попалась начинка с салатом! Поздравляю!") else: print("Что-то сломалось наверное, приходите за призом завтра...") input("Нажмите Enter, чтобы покинуть розыгрыш...")
#Дом. задание: Написать программу, которая бы "подбрасывала" условную монету #100 раз и сообщала, сколько раз выпала "решка" или "орел". import random print("Сейчас программа 'подбросит' монетку и подсчитает сколько раз выпадет") print("'решка', или 'орел'.") reshka = 0 orel = 0 kol_podbros = 0 while kol_podbros != 100: podbros = random.randint(1, 2) if podbros == 1: orel += 1 else: reshka += 1 kol_podbros += 1 print("nОрлов выпало: ", orel) print("Решек выпало: ", reshka)
# Игра "отгадай число" import random print("tДобро пожаловать в игру 'Отгадай число'!") print("Компьютер загадал натуральное число из диапазона от 1 до 100.") print("Вам нужно угадать его за максимум 5 попыток.n") # Начальные значения the_number = random.randint(1, 100) guess = int(input("Ваше предположение: ")) tries = 1 # Цикл отгадывания while guess != the_number: if guess > the_number: print("Меньше...") elif guess < the_number: print("Больше...") if guess > the_number and tries >= 6: print("Соберись, тряпка!") elif guess < the_number and tries >= 6: print("Неудачник!") guess = int(input("nВаше предположение: ")) tries += 1 print("nПоздравляю! Вам удалось отгадать число!") print("вы затратили всего лишь", tries, "попытки(ок)!") if tries >= 6: print("nВсего лишь", tries, "попытки(ок)), Карл?! Да ты издеваешься?") input("nНажмите Enter, чтобы покинуть игру...")
# coding=utf-8 print("tttЗдравствуй, игрок!") print("Тебе предстоить сыграть с компьютером в 'Числа'.") print("Надо загадать число от 1 до 100, а компьютер попытается отгадать его.") number = int(input("Введите загаданное число: ")) # Задаем начальные значения и задаем первую попытку угадывания, задействуя метод Хартли. # То есть делим интервал угадывания наполовину, чтобы быстрей добраться до искомого числа. computer_number = 50 tries = 1 low = 1 high = 100 print(computer_number) # Цикл отгадывания while computer_number != number: if computer_number > number: high = computer_number # Задаем загаданное число верхней границей интервала # Продолжаем делить полученный интервал наполовину. computer_number = computer_number - ((high-low)//2) print(computer_number) elif computer_number < number: low = computer_number # Задаем загаданное число нижней границей интервала computer_number = computer_number + ((high-low)//2) print(computer_number) tries += 1 print("Компьютер потратил", tries, "попытки(ок) на отгадывание твоего числа.") input("nnНажмите Enter, чтобы выйти из программы...")
Автор: Alek Azimov
Первое устное задание рассматривать не будем.
Задача №2Напишите программу, в окно которой пользователь сможет ввести названия двух своих любимых блюд. Программа должна сцеплять две эти строки и выводить полученную строку, как название нового, невиданного блюда.
name1 = input("Введите первое свое любимое блюдо: ") name2 = input("Введите второе свое любимое блюдо: ")
print("nА теперь, внимание! Я придумал блюдо, которое объединяет ваше оба любимых: ") print(name1+name2)
input("nnВведите Enter, чтобы выйти из приложения...")
Задача №3Напишите программу "Щедрый посетитель", в окно которой пользователь сможет ввести сумму счета за обед в ресторане. Программа должна выводить два значения: чаевые из расчета 15% и 20% от указанной суммы.
print("Здравствуйте, уважаемый посетитель стриптиз-клуба 'Вертихвостка'!")
# Не могу удержаться. Процитируем Гарри Гаррисона :-) print("Наш девиз: ЗАХОДИТЕ К НАМ, ЗАСРАНЦЫ, ЖДУТ ВАС ВЫПИВКА И ТАНЦЫ!") print("Вас приветствует приложение для подсчета чаевых для официантки,") print("которая, обслуживала вас.") check = int(input("nДля начала введите сумму счета в долларах (без центов): "))
# Рассчитываем чаевые по американской системе
tip_good = check / 100 * 20
tip_bad = check / 100 * 10
print(«nЕсли вам понравилось обслуживание, то оставьте официантке «,tip_good, «долларов»)
print(«Если же нет, то оставьте «, tip_bad, «долларов»)
input(«nnНажмите Enter, чтобы закрыть приложение…»)
Задача №4
print("Здравствуйте! Вас приветствует приложение автоцентра Audi.")
print("Вводя стоимость автомобиля, мы расчитаем вам окончательную цену") print("автомобиля со всеми наценками с каждым подпунктом") price = int(input("nВведите стоимость автомобиля: "))
nalog = price / 100 * 13
print(«nНалог: «, nalog, «рублей»)
reg_sbor = price / 100 * 3
print(«nРегистрационный сбор: «, reg_sbor, «рублей»)
print(«nАгентский сбор: «, 10000, «рублей»)
print(«nДоставка машины: «, 5000, «рублей»)
full = price + nalog + reg_sbor + 10000 + 5000
print(«nnИтого: «, full, «рублей»)
print(«nnБлагодарим за покупку!»)
input(«Введите Enter, чтобы закрыть приложение…»)
P.S. За наглядный листинг кода спасибо сайту highlight.hohli.com.
P.P.S. Все разъезжается по швам.
Автор: Alek Azimov
Объяснений тут не нужно, я полагаю.
Задача №1
Научитесь вызывать ошибку: в интерактивном режиме введите название своего любимого сорта мороженого. Потом исправьте ошибку и создайте команду, которая будет правильным образом выводить на экран название этого сорта мороженого.
print("Пломбир")
print("Альмир")input(«nnНажмите Enter, для выхода…»)
Напишите программу, которая будет выводить на экран ваш любимый афоризм. Не забудьте о том,что автор афоризма должен быть упомянут на отдельной строке.
print("Жить, как говорится, хорошо!") print("А хорошо жить еще лучше!") print("Авторы: Г. Вицин и Е. Моргунов")
input(«nnНажмите Enter, для выхода…»)
Автор: Alek Azimov