Python: Задачи и решения (Глава 3. Ветвление, циклы с оператором while и псевдокод. Игра “Отгадай число”).

Продолжаем изучать программирование. После третьей главы в книге: Майкл Доусон “Программируем на Python”, 2014 (Michael Dawson “Python Programming for the Absolute Beginner”, 3rd Edition), где я изучила особенности работы с текстом в языке программирования Python, предложены задания. Давайте выполнять их вместе. Я приведу свой вариант решения, а вы пишите ваши варианты в комментариях.

1) Напишите программу — симулятор пирожка с «сюрпризом», — которая бы при запуске отображала один из пяти различных «Сюрпризов», выбранный случайным образом.

import random
surpriz_1='Unicorn'
surpriz_2='Medal'
surpriz_3='Funny cat'
surpriz_4='Palm tree'
surpriz_5='Dino'
rezult=random.randint(1,5)
if rezult==1:
    print(surpriz_1)
elif rezult==2:
    print(surpriz_2)
elif rezult==3:
    print(surpriz_3)
elif rezult==4:
    print(surpriz_4)
else:
    print(surpriz_5)

2) Напишите программу, которая бы «Подбрасывала» условную монету 100 раз и сообщала, сколько раз выпал орел, а сколько — решка.

import random
orel_1='orel'
reshka_2='reshka'
orel_sum=0
reshka_sum=0
count=0
while count!=100:
    count+=1
    result=random.randint(1,2)
    if result==1:
        orel_sum+=1
    else:
        reshka_sum+=1
print('Орел:',orel_sum,'Решка:',reshka_sum)

3) Измените программу «Отгадай число» таким образом, чтобы у игрока было ограниченное количество попыток. Если игрок не укладывается в заданное число (и проигрывает), то программа должна выводить сколь возможно суровый текст.

import random
print('Я загадала целое число от 0 до 100. Угадай с 5 попыток!')
chislo=random.randrange(101)
popitka_count=0
while popitka_count<=4:
    popitka_count+=1
    popitka=int(input('Это число:'))
    if popitka<chislo:
        print('Больше!')
    elif popitka>chislo:
        print('Меньше!')
    else:
        print('Ничего себе! Ты отгадал! Это правда',chislo)
        print('Количество попыток:',popitka_count)
        break
if popitka_count==5 and popitka!=chislo:
    print('О, ужас! Ты совершенно не умеешь читать мои мысли!\n\
Так и не смог удагать число за 5 попыток :(')

4) А вот задача посложнее. Напишите на псевдокоде алгоритм игры, в которой случайное число от 1 до 100 загадывает человек, а отгадывает компьютер. Прежде чем приступать к решению, задумайтесь над тем, какой должна быть оптимальная стратегия отгадывания. Если алгоритм на псевдокоде будет удачным, попробуйте реализовать игру на Python.

print('Загадай любое целое число от 1 до 100. \
А я его отгадаю. Говори мне </>. \
Когда я угадаю, напиши "yes"\n')
input('Нажми Entr, когда загадал')
import random
low_num=0
high_num=100
gues=random.randint(low_num,high_num)
print('Это число',gues,'?')
otvet=input('Угадал?\n')
while otvet!='y':
    if otvet=='<':
        high_num=gues-1
        gues=random.randint(low_num,high_num)
        print(gues)
        otvet=input('Угадал?\n')
    elif otvet=='>':
        low_num=gues+1
        gues=random.randint(low_num,high_num)
        print(gues)
        otvet=input('Угадал?\n')
input('Ура! Я отгадал! Нажми Enter, чтобы выйти.')

This entry was posted in Python. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *