Майкл Доусон - Программируем на Python. Ответы на задания 3 главы.
Задание №1
# Задание: Написать программу симулятор пирожка с "сюрпризом",
#которая бы при запуске отображала один из пяти различных "сюрпризов",
#выбранных случайным образом.
print("\t\t\t\tДобрый вечер!")
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, чтобы покинуть розыгрыш...")
Задание №2
#Дом. задание: Написать программу, которая бы "подбрасывала" условную монету
#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)
Задание №3
# Игра "отгадай число"
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, чтобы покинуть игру...")
Задание №4
# coding=utf-8
print("\t\t\tЗдравствуй, игрок!")
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("\n\nНажмите Enter, чтобы выйти из программы...")