小练习——猜数字游戏

"""
1.一个words列表里存放若干的单词,例如:["extends", "private", "static", "public"]
2.在words列表里随机取出一个单词放进word列表,例如:在这里插入图片描述
3.用一个tips列表存放提示信息,长度跟随机取出来的单词长度相同,而且初始化如下图:在这里插入图片描述
4.一个列表放随机数,长度跟随机取出来的单词长度相同的,且不重复。在这里插入图片描述
5.当用随机数列表里的前两个元素,用word列表里的元素替换提示信息列表的元素:在这里插入图片描述
6.剩下就是游戏逻辑了,需要提示的时候,遍历下一个随机数列表,然后替换信息
"""


import random

# 存放单词列表
words = ['extends', 'private', 'static', 'public',
         'void', 'return', 'super', 'package', 'throws']

# 从单词列表随机获取一个单词
word = list(words[random.randint(0, len(words) - 1)])
# 随机数列表,存放着与单词长度一致的随机数(不重复)
ran_list = random.sample(range(0, len(word)), len(word))
# 存放提示信息
tips = list()
# 初始化提示信息
# 存放跟单词长度一致的下划线

for i in range(len(word)):
    tips.append("_")

# 随机提示两个字母
tips[ran_list[0]] = word[ran_list[0]]
tips[ran_list[1]] = word[ran_list[1]]


# 函数部分
def show_menu():
    """展示菜单"""
    print('需要提示请输入”help?“')
    print('结束游戏请输入“quit?”')


def show_tips():
    """显示提示信息"""
    for i in tips:
        print(i, end=' ')
    print()


def need_tips(tips_size):
    """需要提示"""
    # 至少有两个未知字母
    if tips_size <= len(word) - 3:
        tips[ran_list[tips_size]] = word[ran_list[tips_size]]
        tips_size += 1
        return tips_size
    else:
        print('已没有提示!')


def init():
    print("-------java版关键字---------")
    tips_size = 2
    show_menu()
    while True:
        print('提示:', end='')
        show_tips()
        guess_word = input("猜一下这个单词:")
        if guess_word == ''.join(word):
            print("恭喜你猜对了!就是%s!" % (''.join(word)))
            break
        elif guess_word == 'help':
            tips_size = need_tips(tips_size)
        elif guess_word == 'quit':
            break
        else:
            print('猜错了!')
            continue

init()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值