Python - word jumble游戏

就是打乱一个单词的顺序,你来猜这个单词是啥,直到你猜对为止。

是对于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")
相关推荐
weixin_462446236 小时前
Python 使用 Tkinter + openpyxl 处理 Excel 文件并显示实时进度条
python·excel·tkinter
2501_941877137 小时前
大规模系统稳定性建设方法论与工程实践分享
java·开发语言
2501_941820497 小时前
面向零信任安全与最小权限模型的互联网系统防护设计思路与多语言工程实践分享
开发语言·leetcode·rabbitmq
浩瀚地学7 小时前
【Java】面向对象进阶-接口
java·开发语言·经验分享·笔记·学习
2501_941802487 小时前
面向微服务限流、熔断与降级协同的互联网系统高可用架构与多语言工程实践分享
开发语言·python
2501_941875287 小时前
分布式系统中的安全权限与审计工程实践方法论经验总结与多语言示例解析分享
开发语言·rabbitmq
海天一色y7 小时前
Pycharm(十八)进程相关内容
python·pycharm
无限进步_7 小时前
【C语言】堆排序:从堆构建到高效排序的完整解析
c语言·开发语言·数据结构·c++·后端·算法·visual studio
haokan_Jia7 小时前
Java 并发编程-ScheduledFuture
java·前端·python
雾岛听蓝7 小时前
STL 容器适配器:stack、queue 与 priority_queue
开发语言·c++