среда, 26 августа 2015 г.

Майкл Доусон - Программируем на Python, ответы на 4-ую главу...

Майкл Доусон - Программируем на Python.

Ответы на 4-ую главу.


Задание №1

# 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("\n\nВведите Enter, чтобы выйти...")

Задание №2

# coding=utf-8
# Программа, которая принимает текст
 пользовательского ввода и печатает его наоборот

message = str(input("Введите любой текст и вы
 получите его наоборот: "
))
new_message = ""
for i in message[::-1]:
    new_message += i
print("А вот ваш новый текст:", new_message)
input("\n\nНажмите Enter, чтобы выйти из программы...")

Задание №3

  1. # coding=utf-8
  2. import random
  3.  
  4. # Создадим последовательность слов, из которых компьютер будет выбирать
  5. WORDS = ("питон",
  6.          "анаграмма",
  7.          "простая",
  8.          "сложная",
  9.          "ответ",
  10.          "подстаканник")
  11.  
  12. # случайным образом выбираем из последовательности одно слово
  13. word = random.choice(WORDS)
  14.  
  15. # Создадим переменную, с которой будет сопоставлена версия игрока
  16. correct = word
  17.  
  18. # Создаем переменную и подсказку, которая будет появляться при запросе игрока "Не знаю"
  19. i_dont_know = "Не знаю"
  20. podskazka = word[0] + word[1] + word[2]
  21.  
  22. # создаем анаграмму выбранного слова, в которой буквы будут расставлены хаотично
  23. jumble = ""
  24. while word:
  25.     position = random.randrange(len(word))
  26.     jumble += word[position]
  27.     word = word[:position] + word[(position + 1):]
  28.  
  29. # Создаем очки для игроков. Те, кто не использовал подсказку, получают больше.
  30. scores = 10
  31.  
  32. # Начало игры
  33. print(
  34.     """
  35.                                      Добро пожаловать в игру 'Анаграммы'!
  36.                         Надо переставить буквы так, чтобы получилось осмысленное слово.
  37.                                Если вам нужна подсказка введите: "Не знаю".
  38.            Но учтите, если вы не будете использовать подсказку, кол-во заработанных очков будет больше.
  39.                             (Для выхода нажмите Enter, не вводя своей версии.)
  40.     """
  41. )
  42. print("Вот анаграмма: ", jumble)
  43. guess = input("\nПопробуйте отгадать исходное слово: ")
  44. while guess != "" and guess != correct:
  45.     if guess != correct and not guess == i_dont_know:
  46.         print("К сожалению, вы неправы.")
  47.     if guess == i_dont_know:
  48.         scores -= 5
  49.         print("\nПодсказка! Первые три буквы слова!", podskazka)
  50.     guess = input("Попробуйте отгадать исходное слово: ")
  51.     if guess == correct:
  52.         print("Да, именно так! Вы отгадали!\n")
  53.  
  54. # Если игрок слишком часто использовал подсказку (что странно, ведь она одна и та же), избегаем отрицательного значения
  55. # приводя к нулю
  56. if scores < 0:
  57.     scores = 0
  58. print("Спасибо за игру! У вас", scores, "очков!")
  59. input("\n\nНажмите Enter, чтобы выйти...")

Задание №4

  1. # coding=utf-8
  2. import random
  3. # Создадим последовательность слов, из которых компьютер будет выбирать
  4. WORDS = ("питон",
  5.          "анаграмма",
  6.          "простая",
  7.          "сложная",
  8.          "ответ",
  9.          "подстаканник")
  10.  
  11. # случайным образом выбираем из последовательности одно слово
  12. word = random.choice(WORDS)
  13.  
  14. print("\t\tЗдравствуй игрок!")
  15. print("Попробуй угадать с пяти попыток слово, которое загадал компьютер.")
  16. print("Ты можешь спрашивать, есть ли определенная буква в слове. А потом скажешь слово.")
  17. print("Итак, поехали!")
  18. print("\nКоличество букв в слове:", len(word))
  19.  
  20. # Цикл отгадывания букв
  21. tries = 5
  22. letter = ()
  23. while tries >= 1:
  24.     letter = str(input("В загаданном слове есть буква: "))
  25.     if letter not in word:
  26.         tries -= 1
  27.         print("\nВы ошиблись, такой буквы нет в слове!")
  28.         print(" У вас осталось", tries, "попыток(ки)!")
  29.     if letter in word:
  30.         tries -= 1
  31.         print("\nВы угадали, эта буква есть в слове!")
  32.         print("У вас осталось", tries, "попыток(ки)!")
  33.  
  34. # Вторая часть отгадывания.
  35. i_dont_know = "Не знаю"
  36. print("\nВаши 5 попыток закончились, вы готовы угадать слово?")
  37. print("Если вы сдались и не хотите продолжать, напишите 'Не знаю'.")
  38. correct = (input("\nЭто слово: "))
  39.  
  40. while correct != word:
  41.     print("Попробуйте еще раз!")
  42.     correct = (input("\nЭто слово: "))
  43.     if correct == word:
  44.         print("\nПоздравляю! Вы выиграли!")
  45.     if correct == i_dont_know:
  46.         print("\nОчень жаль!")
  47.         break
  48.  
  49. input("\nНажмите Enter, чтобы выйти...")


воскресенье, 23 августа 2015 г.

Майкл Доусон - "Программируем на Python", ответы на задания 3-ой главы...


Майкл Доусон - Программируем на Python. Ответы на задания 3 главы.

Задание №1

  1. # Задание: Написать программу симулятор пирожка с "сюрпризом",
  2. #которая бы при запуске отображала один из пяти различных "сюрпризов",
  3. #выбранных случайным образом.
  4.  
  5. print("\t\t\t\tДобрый вечер!")
  6. print("Вы, как 100-ый клиент за день, получаете пирожок с секретной начинкой!")
  7. print("У нас 5 секретных начинок, и мы не знаем какая вам достанется. Удачи!\n")
  8.  
  9. import random
  10. stuffing = random.randint(1, 5)
  11. if stuffing == 1:
  12. print("Вам попалась начинка с рисом и яйцом! Поздравляю!")
  13.  
  14. elif stuffing == 2:
  15. print("Вам попалась начинка с курагой! Поздравляю!")
  16.  
  17. elif stuffing == 3:
  18. print("Вам попалась начинка с картошкой! Поздравляю!")
  19.  
  20. elif stuffing == 4:
  21. print("Вам попалась начинка с сосиской! Поздравляю!")
  22.  
  23. elif stuffing == 5:
  24. print("Вам попалась начинка с салатом! Поздравляю!")
  25.  
  26. else:
  27. print("Что-то сломалось наверное, приходите за призом завтра...")
  28.  
  29. input("Нажмите Enter, чтобы покинуть розыгрыш...")
  30.  

Задание №2

  1. #Дом. задание: Написать программу, которая бы "подбрасывала" условную монету
  2. #100 раз и сообщала, сколько раз выпала "решка" или "орел".
  3.  
  4. import random
  5. print("Сейчас программа 'подбросит' монетку и подсчитает сколько раз выпадет")
  6. print("'решка', или 'орел'.")
  7.  
  8. reshka = 0
  9. orel = 0
  10. kol_podbros = 0
  11.  
  12. while kol_podbros != 100:
  13. podbros = random.randint(1, 2)
  14.  
  15. if podbros == 1:
  16. orel += 1
  17. else:
  18. reshka += 1
  19. kol_podbros += 1
  20.  
  21. print("\nОрлов выпало: ", orel)
  22. print("Решек выпало: ", reshka)

Задание №3

  1. # Игра "отгадай число"
  2.  
  3. import random
  4.  
  5. print("\tДобро пожаловать в игру 'Отгадай число'!")
  6. print("Компьютер загадал натуральное число из диапазона от 1 до 100.")
  7. print("Вам нужно угадать его за максимум 5 попыток.\n")
  8.  
  9. # Начальные значения
  10. the_number = random.randint(1, 100)
  11. guess = int(input("Ваше предположение: "))
  12. tries = 1
  13.  
  14. # Цикл отгадывания
  15. while guess != the_number:
  16. if guess > the_number:
  17. print("Меньше...")
  18. elif guess < the_number:
  19. print("Больше...")
  20. if guess > the_number and tries >= 6:
  21. print("Соберись, тряпка!")
  22. elif guess < the_number and tries >= 6:
  23. print("Неудачник!")
  24.  
  25. guess = int(input("\nВаше предположение: "))
  26. tries += 1
  27.  
  28. print("\nПоздравляю! Вам удалось отгадать число!")
  29. print("вы затратили всего лишь", tries, "попытки(ок)!")
  30. if tries >= 6:
  31. print("\nВсего лишь", tries, "попытки(ок)), Карл?! Да ты издеваешься?")
  32.  
  33. input("\nНажмите Enter, чтобы покинуть игру...")

Задание №4

  1. # coding=utf-8
  2.  
  3. print("\t\t\tЗдравствуй, игрок!")
  4. print("Тебе предстоить сыграть с компьютером в 'Числа'.")
  5. print("Надо загадать число от 1 до 100, а компьютер попытается отгадать его.")
  6. number = int(input("Введите загаданное число: "))
  7.  
  8. # Задаем начальные значения и задаем первую попытку угадывания, задействуя метод Хартли.
  9. # То есть делим интервал угадывания наполовину, чтобы быстрей добраться до искомого числа.
  10. computer_number = 50
  11. tries = 1
  12. low = 1
  13. high = 100
  14. print(computer_number)
  15.  
  16. # Цикл отгадывания
  17. while computer_number != number:
  18. if computer_number > number:
  19. high = computer_number # Задаем загаданное число верхней границей интервала
  20. # Продолжаем делить полученный интервал наполовину.
  21. computer_number = computer_number - ((high-low)//2)
  22. print(computer_number)
  23. elif computer_number < number:
  24. low = computer_number # Задаем загаданное число нижней границей интервала
  25. computer_number = computer_number + ((high-low)//2)
  26. print(computer_number)
  27. tries += 1
  28.  
  29. print("Компьютер потратил", tries, "попытки(ок) на отгадывание твоего числа.")
  30. input("\n\nНажмите Enter, чтобы выйти из программы...")