Форум сайта python.su
Доработайте игру “Анаграммы” так, чтобы к каждому слову полагалась подсказка. Игрок должен получать право на подсказку в том случае, если у него нет никаких предположений. Разработайте систему начисления очков, по которой бы игроки, отгадавшие слово без подсказки, получали больше тех, кто запросил подсказку.
Вот основа программы:
# Анаграммы import random WORDS=("питон","анаграмма","простая","сложная","ответ","подстаканник","абсолютный","честность", "авторитетный","мнение", "поступить","академия", "оранжевый","апельсин", "громкий","аплодисменты", "цирк","арена", "приятный","аромат", "атака", "благоприятный","атмосфера", "старинный","балкон", "бархатный","скатерть", "играть","баскетбол", "безвкусный","конфета", "беречь","имущество", "беседовать", "профессия", "размешиват","бетон", "разглядывать", "бинокль", "благородный", "поступок", "прочитать","брошюра") word=random.choice(WORDS) correct=word jumble="" while word: position=random.randrange(len(word)) jumble+=word[position] word=word[:position]+word[(position+1):] print("Добро пожаловатив игру 'Анаграммы'!", "\nНадо пререставить буквы так, чтобы получилось слово.\n(Для выхода нажмите Enter, не вводя своей версии.)") print("Вот анаграмма: ", jumble) guess=input("\nПопробуйте отгадать слово: ") while guess!=correct and guess!="": print("К сожалению, вы неправы.") guess=input("Попробуйте еще раз: ") if guess==correct: print("Вы угадали!!!\n") print("Спасибо за игру!!!") input("\n\nНажмите Enter, чтобы выйти.")
# Анаграммы import random WORDS=("питон","анаграмма","простая","сложная","ответ","подстаканник","абсолютный","честность", "авторитетный","мнение", "поступить","академия", "оранжевый","апельсин", "громкий","аплодисменты", "цирк","арена", "приятный","аромат", "атака", "благоприятный","атмосфера", "старинный","балкон", "бархатный","скатерть", "играть","баскетбол", "безвкусный","конфета", "беречь","имущество", "беседовать","профессия", "размешиват","бетон", "разглядывать", "бинокль", "благородный", "поступок", "прочитать","брошюра") word=random.choice(WORDS) correct=word jumble="" while word: position=random.randrange(len(word)) jumble+=word[position] word=word[:position]+word[(position+1):] print("Добро пожаловатив игру 'Анаграммы'!", "\nНадо пререставить буквы так, чтобы получилось слово.\n(Для выхода нажмите Enter, не вводя своей версии.)") print("Вот анаграмма: ", jumble) guess=input("\nПопробуйте отгадать слово: ") n=0 count=int(len(word))*100 i=int(-len(word)) while guess!=correct and guess!="": print("К сожалению, вы неправы.") guess=input("Попробуйте еще раз: ") count=count-100 n+=1 if n//3==0: c=i+1 print("Подсказка! Буква номер",c,":") print(word[i]) i+=1 if guess==correct: procent=count/(int(len(word))*100) print("Вы угадали!!!\n", "Вы потратели ",n, "попытки(ок) и получили",count,"очков (или угадав слово на",procent,"%)") print("Спасибо за игру!!!") input("\n\nНажмите Enter, чтобы выйти.")
Прикреплённый файлы: 333.jpg (18,6 KБ)
Офлайн
z_yue_ziyouwhile word:
z_yue_ziyouВычисляешь длину пустой строки.count=int(len(word))*100
Офлайн
Отредактировано Swell84 (Янв. 31, 2017 11:52:22)
Офлайн
Swell84нет
Как считаете норм?
Офлайн
FishHookСлово Очки
Отредактировано Swell84 (Янв. 31, 2017 11:37:33)
Офлайн
Swell84
Я пока учусь…
Swell84
Постоянно спешу…
Swell84
я не силён в русском
Swell84
Только начал изучать.
Swell84Удобнее вам? Ну и любуйтесь тогда на это сами, зачем всему миру показывать?
Создаю переменные, как удобнее на данный момент мне
Офлайн
FishHookДа ты зануда
Отредактировано Swell84 (Янв. 31, 2017 12:01:16)
Офлайн
Swell84
Смотрите. FishHook абсолютно прав. Вы представляете свой код на суд зрителей. Это как сказать, что я вышел на сцену, но не прочитал свою роль.
И Вам сразу советуют как сделать лучше. Рекомендую прислушаться и взять рекомендации за правила, тогда не придется тратить время на переучивание. Себе жизнь упростите существенно. Ну и в качестве благодарности все же не стоит называть помогающего занудой. Потому как с его почасовой зарплатой он как минимум потратил время на то, чтобы прочитать Ваш код бесплатно.
P.S. Удачи в освоении. И переходите уже на функции
Офлайн
4kpt_IV
Всё норм… Критика ясна. Сам понял кое какие вещи… Будем исправляться… )) А про зануду. Шучу просто.
Код убрал. Переделывать буду… Хотя вроде всё работает. Но криво не нравится…
FishHook
Вам спасибо за совет
Офлайн
Вот код (правда, он на английском):
import random score=0 hint='no' print(""" Welcome to Word Jumble v.1.00! Unscramble the letters to make a word. (Press the enter key at the prompt to quit.) """) maxscore=int(input('Play to score... ')) while score<maxscore: WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone") word = random.choice(WORDS) correct = word jumble ="" while word: position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position + 1):] print("The jumble is:", jumble) guess="" while guess != correct: guess = input("Your guess: ") if guess!=correct: print("Sorry, that's not it.") hint = input("Hint?(y/n) ") if hint == "y": score-=5 if correct=="python": print("Hint. Free, modern and easy programming language.") elif correct=="jumble": print("Hint. The name of this game") elif correct=="easy": print("Hint. People say this word, when they can do an action simply.") elif correct=="difficult": print("Hint. People say this word, when they can't do an action simply.") elif correct=="answer": print("Hint. When other person asks you about any thing, you...") elif correct=="xylophone": print("Hint. The music instrument.") hint='n' if guess == correct: print("That's it! You guessed it!\n") score+=10 print("CONGRATULATIONS!\nYou scored "+str(score)+".\nThanks for playing.") input("\n\nPress ENTER to exit.")
Офлайн