python:编程实现猜单词游戏(含文件按行读取删换行符)

目录

游戏概述

预备知识

开始代码


游戏概述

游戏一开始先显示乱序后的字符串,并提示用户输入猜测的结果。如果错误,提示继续输入,直至输入正确。猜对之后,则询问是否继续游戏。

游戏效果如下:

 

预备知识

1.文件的按行读取

mm = filename.readlines()  //将文件按行读出,将每一行放在mm的列表里面,但是包含换行符

2.文件的按行读取不带换行符

m = filename.read().splitlines() 

3.随机选择列表中的一个元素

random.choice(listname) 

4.字符串变列表

list(stringname) 

5.列表变字符串

stringname = ''.join(listname) 

6.列表的乱序

random.shuffle(listname) 

 

开始代码

 一、开始的菜单

def caidan():
    print("--欢迎参加猜单词游戏!--")
    print("--请把乱序后的字母组成一个单词--")
    print('\n')

二、随机选择文件中的一个单词

def xuanze(m):
    mm = random.choice(m)
    return mm

三、单词的乱序

def luanxu(mm):
    #mm是原来的
    mmlist = list(mm)
    random.shuffle(mmlist)
    #mm1是乱序的
    mm1 = ''.join(mmlist)
    return mm1

四、选择是否继续

def once_again(m):
    print("是否继续(Y/N):")
    chise = input()
    if chise in ['Y','y']:
        print('\n')
        xianshi(m)
    else:
        print("谢谢参与,欢迎下次再来玩!")

五、游戏主体

def xianshi(m):
    mmyuan = xuanze(m)
    mmm = luanxu(mmyuan)
    print("乱序后的单词:" + mmm)
    print("原单词:" + mmyuan)
    print("请输入您猜测的单词: ")
    mm2 = input()
    while True:
        if mm2 == mmyuan:
            break
        else:
            print("结果不对,请重新猜测:")
            mm2 = input()
    print("恭喜您,答对了!")
    once_again(m)

六、主函数

文件按行打开的方式一定要是删除空行的,不然就会在获取的单词中包含 '\n' ,怎么输入单词都不对,在这卡了半天。。。。。

def main():
    f1 = open('D:/猜单词.txt','r',encoding='utf-8')
    m = f1.read().splitlines()
    f1.close()
    caidan()
    xianshi(m)
        

完整代码

import random

def caidan():
    print("--欢迎参加猜单词游戏!--")
    print("--请把乱序后的字母组成一个单词--")
    print('\n')    
    
def xuanze(m):
    mm = random.choice(m)
    return mm
    
def luanxu(mm):
    #mm是原来的
    mmlist = list(mm)
    random.shuffle(mmlist)
    #mm1是乱序的
    mm1 = ''.join(mmlist)
    return mm1

def once_again(m):
    print("是否继续(Y/N):")
    chise = input()
    if chise in ['Y','y']:
        print('\n')
        xianshi(m)
    else:
        print("谢谢参与,欢迎下次再来玩!")
        
def xianshi(m):
    mmyuan = xuanze(m)
    mmm = luanxu(mmyuan)
    print("乱序后的单词:" + mmm)
    print("原单词:" + mmyuan)
    print("请输入您猜测的单词: ")
    mm2 = input()
    while True:
        if mm2 == mmyuan:
            break
        else:
            print("结果不对,请重新猜测:")
            mm2 = input()
    print("恭喜您,答对了!")
    once_again(m)    
    
def main():
    f1 = open('D:/猜单词.txt','r',encoding='utf-8')
    m = f1.read().splitlines()
    f1.close()
    caidan()
    xianshi(m)        
   
if __name__ == '__main__':
   main()

其中猜单词的单词文件我存在d盘了,文件内容如下:

write
beautilul
Note
the
standard
python
module
random
includes
random
choice
method
which
picks
random
element
from
non
empty
list

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值