Майкл Доусон - Программируем на 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, чтобы выйти из программы...")