就是打乱一个单词的顺序,你来猜这个单词是啥,直到你猜对为止。
是对于for循环,String和Tuple的应用
python
# Word Jumble
#
# 计算机随机挑选一个单词,然后把它"弄乱"
# 玩家必须猜出本来的单词
import random
# 使用元组创建一组可供选择的单词
# 看做一个常量,所以使用大写
WORDS = ("detriment", "pernicious", "disadvantageous", "advantageous", "beneficial", "prestigious")
# 从序列中随机挑选一个单词
word = random.choice(WORDS)
# 用于判断玩家是否猜对的变量
correct = word
# 打乱字母顺序
# 注意: 字符串和元组都是不可变的,只能创建新的字符串作为打乱后的单词
# 创建乱序单词
jumble = ""
# while循环创建题目,word为空时表示该单词所以字母都被取出,放入到了乱序的jumble中
# 注意:当循环一个字符串的时候,不论是while循环还是for循环都是一个字符一个字符的循环
while word:
# 根据单词长度, 产生word中的一个随机位置
position = random.randrange(len(word))
# 获取该位置的字母,添加到jumble中
jumble += word[position]
# 构建新的word,因为word中position位置的字母已经被读取了,就应该从word中移除,以便while循环能个正确的结束,不移除就成死循环的
# 切片:
# word[:postion]表示word[position]之前的所有字母
# word[(position + 1):]表示word[position]之后的所有字母
# 使用"+"连接两个字符串,形成一个新的字符串,就是去除 position位置字母后的单词
word = word[:position] + word[(position + 1):]
# 游戏开始
# 三重引号作用: 原样输出
print(
"""
Welcome to Word Jumble!
Unscramble the letters to make a word.
(Press the enter key at the prompt to quit.)
""")
print("The jumble is: %s" % jumble)
# 获取玩家输入的答案
guess = input("\nYour guess: ")
while guess != correct and guess != "" :
print("Sorry, that's not it.")
guess = input("\n Your guess: ")
if guess == correct :
print("\nCongratulation! You guessed it!")
print("\n\nThanks for play!!!")
input("\n\nPress the enter key to exit")