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")
相关推荐
SelectDB13 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码21 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵1 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li1 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸2 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学2 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi3 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi3 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab