ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python写出1A2B游戏

2022-01-16 14:32:48  阅读:192  来源: 互联网

标签:aa 10 bb python 1A2B int 写出 file 1000


要求:

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]]):
     pass
 else:
     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 += 1
          else:
             if any([aa[y] == bb[0], aa[y] == bb[1], aa[y] == bb[2], aa[y] == bb[3]]):
                 j += 1
       print("%dA%dB" % (i, j))
       file.write("'b'的结果是 'iAjB'")
       string=input("继续请输入y:")
       file.close()
       if string !="y":
          temp=0
     continue
这个代码,输入一些数据,会判断是否符合要求,如果不符合要求就会让你重新输入,每次后都会有一个是否继续,写入y就可以进行,写入其他的字符就会退出但是有一个问题不知道怎么解决,就是保存数据的时候,老是在保存一个'b'的结果是 'iAjB'的字符

标签:aa,10,bb,python,1A2B,int,写出,file,1000
来源: https://blog.csdn.net/qq_56618414/article/details/122522819

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有