python写出1A2B游戏

编程入门 行业动态 更新时间:2024-10-24 01:55:45

python写出1A2B<a href=https://www.elefans.com/category/jswz/34/1770081.html style=游戏"/>

python写出1A2B游戏

要求:

1A2B 猜数游 戏 1. 游 戏规则 1. 随机 生成一个四位数 ( 首位可以是 0 ,每 位的数字 不相同 ), 以下称 答 案 2. 用 户给 出一个猜 测 的四位数 3. 当用 户 猜 测 的数字 ( 四位 ) 存在于 答案 , 但 位置不正 确 时,则记为 A 4. 当用 户 猜 测 的数字 ( 四位 ) 存在于 答案 , 且 位置正 确 时,则记为 B 5. 程序返回 A 的 记 数和 B 的 记 数 , 格式 为: XAXB 2. 示例 3. 需求 对 于用 户 的非法 输 入有一定抗性 (检查 位数 , 是否都是数字 , 是否包含空 格 ) 当用 户输 入 save 时, 保存当前游 戏 状 态( 在本地生成 记录 文件 , 推荐 json 格式 ), 用 户 可 选择 退出游 戏 或 继续 游 戏 当用 户输 入 exit 时, 退出游 戏 每 局游 戏开 始 时,检查 本地是否有保存的游 戏, 如果有 , 用 户 可 选择继续 游 戏 或 开 始新游 戏  代码:
# -*- codeing = utf-8 -*-
# @Time : 2022/1/16 11:35
# @Author : B20041409
# @File : 1A2BFUB.py
# @Software : PyCharm
import random
import os
if os.path.exists("D:\\new.txt")==False:        #检测文件是否存在file = open('D:\\' + 'new' + '.txt','w')    #若不存在则立即创建file.close()
temp=1 #控制是否继续
for i in range(1000):a = int(random.randint(1000, 9999))aa = [int(a / 1000), int((a / 100) % 10), int((a / 10) % 10), int(a % 10)]if any([aa[0] == aa[1], aa[0] == aa[2], aa[0] == aa[3], aa[1] == aa[2], aa[1] == aa[3], aa[2] == aa[3]]):passelse:break
print("已随机生成一个各位不相同的4位数字")
while temp ==1 :file = open('D:\甘露\python\pythonProject1\ new.txt', 'w')b = input("请输入一个各位不相同的4位数字,来猜猜这个数:")if b.isdigit():b = int(b)if b<9999 and b>999:bb = [int(b / 1000), int((b / 100) % 10), int((b / 10) % 10), int(b % 10)](i, j) = (0, 0)for y in range(0, 4):if aa[y] == bb[y]:i += 1else:if any([aa[y] == bb[0], aa[y] == bb[1], aa[y] == bb[2], aa[y] == bb[3]]):j += 1print("%dA%dB" % (i, j))file.write("'%d'的结果是 '%dA%dB'"%(b,i,j))string=input("继续请输入y:")file.close()if string !="y":temp=0continue
这个代码,输入一些数据,会判断是否符合要求,如果不符合要求就会让你重新输入,每次后都会有一个是否继续,写入y就可以进行,写入其他的字符就会退出

更多推荐

python写出1A2B游戏

本文发布于:2024-02-26 19:48:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1703691.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:游戏   python   A2B

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!