python成语游戏代码_Python基础,猜成语小游戏

本文介绍了如何使用Python编写一个猜成语小游戏,通过随机库选择成语并隐藏部分字符,用户输入完整成语进行猜测。游戏包含多个级别,答对加分,答错则结束。还分享了如何扩展成语库,从网络抓取成语数据并保存到文件中。
摘要由CSDN通过智能技术生成

猜成语

闲的无事,无聊的写bug,突然觉得可以随便写个猜成语小游戏,正好可以解闷

Python随机库,random

random是Python的随机库,有这样几个简单的用法

在使用random前要用import关键字导入

import random

print(random.random())

print(random.randint(1,100))

print(random.choice([1,2,3,4,5]))

结果

0.10290569225899504

69

1

你的结果可能不一样,毕竟是随机模块,自然是随机的

接下来简单写写

from random import *

idioms=['无中生有','不知所措','光明正大','山清水秀']

idiom=choice(idioms)

print(idiom.replace(idiom[0], '_',1))

inputidiom = input("请输入完整的成语>>>")

if inputidiom==idiom:

print("你答对了")

else:

print("你答错了,正确的为 %s"%idiom)

玩了几下,感到没什么意思,便打算隐藏随机位置,并且加循环,答对继续,答错退出

from random import *

idioms=['无中生有','不知所措','光明正大','山清水秀']

a=0

while True:

idiom=idioms[a]

print(idiom.replace(idiom[randint(1, len(idiom) - 1)], '_', 1))

inputidiom = input("请输入完整的成语>>>")

if inputidiom==idiom:

print("你答对了")

a+=1

continue

else:

print("你答错了,正确的为 %s"%idiom)

break

加一个分数

from random import *

idioms=['无中生有','不知所措','光明正大','山清水秀']

score=0

a=0

while True:

idiom=idioms[a]

print(idiom.replace(idiom[randint(1, len(idiom) - 1)], '_', 1))

inputidiom = input("请输入完整的成语>>>")

if inputidiom==idiom:

a += 1

score += 10

print("你答对了,你的分数为 %d"%score)

continue

else:

print("你答错了,正确的为 %s, 你的分数为%d"%(idiom,score))

break

可是这成语太少了,只有四个,不如去写个成语获取模块

get_idioms.py

import requests

from json import loads

from fake_useragent import UserAgent

ua = UserAgent()

headers = {'User-Agent': ua.random}

proxies = {

'HTTPS': '171.35.63.57:8118'

}

def make_url():

return [

'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=28204&from_mid=1&&format=json&ie=utf-8&oe=utf-8&query=%E6%88%90%E8%AF%AD&sort_key=&sort_type=1&stat0=&stat1=&stat2=&stat3=&pn=' + str(

x * 30) + '&rn=30&cb=jQuery110202483093793465747_1586585380666&_=1586585380669' for x in range(300)]

def run(url):

try:

r = requests.get(url, headers=headers, proxies=proxies, timeout=3).content.decode()

result = loads(r[r.index('(') + 1:r.index(')')])['data'][0]['result']

for item in result:

file.write(item['ename'] + '\n')

print(item['ename'])

except:

pass

if __name__ == '__main__':

file = open('idioms.txt', 'w', encoding='utf-8')

for item in make_url():

run(item)

然后运行,就可以快速保存成语了

再将主程序简单更改一下

猜成语.py

from random import *

file = open('idioms.txt', 'r', encoding='utf-8')

idioms = file.readlines()

def play():

print("*" * 21 + '猜成语' + "*" * 21)

score = 0

a = randint(1,100)

while True:

idiom = idioms[a].strip().replace(',',',')

outidiom = idiom.replace(idiom[randint(1,len(idiom)-1)], '_',1)

print("\n", outidiom)

inputidiom = input("请输入完整的成语>>>").replace(',',',')

if inputidiom == idiom:

a += 1

score += 10

print("你猜对了,你的分数为%d" % score)

continue

else:

print("你猜错了,正确的是 %s" % idiom)

print("你的得分为%d" % score)

break

play()

嗯,不愧是我,就喜欢写这种没有技术含量的程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值