среда, 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, чтобы выйти...")


15 комментариев:

  1. Ответы
    1. Ответы есть, просто блог подзабросил, не публиковал, могу отправить решения на почту.

      Удалить
    2. Ок. Буду благодарен! Мой e-mail: ivan_ua95@ukr.net

      Удалить
  2. 996bkg@gmail.com скиньте ответы на все главы плиииииз! очень хочу питон освоить

    ОтветитьУдалить
    Ответы
    1. Ладно бы, если затруднения касались только одного вопроса, но на все, ди и еще освоить? Не решая задачи ничего ты не освоишь.

      Удалить
    2. ок может тогда на 5ю скините ? Я чисто сам буду решать ...если не получится то спишу или же если решу то сравню с вашим.

      Удалить
  3. Привет! Отправь, пожалуйста, решения задач на alexeyv2.0@mail.ru если не затруднит. Задачи совершенно не даются, кажется слишком сложно для меня =(

    ОтветитьУдалить
    Ответы
    1. Все опубликовано здесь, кроме пятой главы. Возможно даже найду 6-ую, а потом я ушел в другие дебри.

      Удалить
  4. Задание №3. Такой вопрос. Как сделать так, чтобы программа не была чувствительна к регистру?
    P.S.
    Спасибо!

    ОтветитьУдалить
    Ответы
    1. пользуйся функциями S.upper() и S.lower()

      Удалить
    2. Нельзя ли для наглядности привести пример? Я пытался применить .lower(), но безуспешно.

      Удалить
    3. a = str(input('Введи слово с разнообразным регистром:'))
      print(a.lower())
      print(a.upper())

      P.S. Это было во второй главе.

      Удалить
  5. А разве условия первой задачи предполагали сложение чисел ?

    ОтветитьУдалить
    Ответы
    1. В условиях написано: "Напишите программу, которая считала бы по просьбе пользователя". Так что да)

      Удалить