鱼C论坛

 找回密码
 立即注册
查看: 1446|回复: 2

谁来帮我看下,为什么我的数据保存.是什么原因?

[复制链接]
发表于 2020-3-19 23:16:25 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 一个账号 于 2020-3-20 21:54 编辑
import random,requests
def ran_num():
    url = 'https://python666.cn/cls/number/guess/'
    r = requests.get(url)
    return r.text

def num_input():  # 强制用户输入数字
    while True:
        str = input("请猜一个1--100的整数字:")
        if not str.isdigit():
            print(f"你输入的{str}不符合游戏规则,请重新输入:")
        elif int(str) not in range(1, 101):
            print(f"你输入的{str}不在数值范围内,请重新输入:")
        else:
            return int(str)
def guess_game(name,cishu,lunshu,ave_lun): #猜数据的主体程序,# 次数,轮数,平均轮次,每次猜中轮数
    list1=[]#每次猜中轮数的集合
    while True:
        answer = int(ran_num()) #带入从网上获取的随机数
        times = 0
        cishu += 1
        while True:
            times += 1
            lunshu += 1
            b = num_input() #带入强制用户输入的数字
            ave_lun = lunshu / cishu
            if answer > b:
                print("小了,小了,再来")
            elif answer < b:
                print("大了,大了,再来")
            else:
                list1.append(times)
                kuai_lun = min(list1)
                print("ok,你一共猜了{}轮。".format(lunshu))
                print("{},你已经玩了{}次,最少{}猜出,平均{}猜出答案".format(name, cishu, kuai_lun, ave_lun))
                break

        if input("y继续,其他退出") != ('Y' and 'y'):
            print("退出游戏,下次再来")
            break

with open("game_many_user.txt" )as f:
    lst_a = f.readlines()
    dic_a = {}
    list2 = []
    for i in lst_a:
        data = i.strip().split(" ")
        list2.append(data[0])
        # print(list2)  # 所有玩家名字的列表
        # print(data) #这个是各个玩家数据的列表形式
        # print(data[0], data[1:])
        dic_a[data[0]] = data[1:]
    print('dic_a:', dic_a)  # 玩家的数据形式将以字典结构呈现
def main():
    name = input("尊姓大名:")
    if name in list2:
        print("你已经玩了{}次,最少{}猜出答案,平均{}轮猜出.开始游戏吧".format(dic_a[name][0], dic_a[name][1], dic_a[name][2]))
        cishu = int(dic_a[name][0])
        lunshu = int(dic_a[name][1])
        ave_lun = float(dic_a[name][2])
        guess_game(name,cishu,lunshu,ave_lun)
    else:
        print(f"{name},已经玩了0次,最少0轮猜出答案,平均0轮猜出,开始游戏吧")
        cishu = 0
        lunshu = 0
        ave_lun = 0
        lst = []
        guess_game(name,cishu,lunshu,ave_lun)
    dic_a[name] = [str(cishu), str(lunshu), str(ave_lun)]
    with open("game_many_user.txt", 'r+', encoding='utf-8') as f2:
        for key in dic_a:
            data_line = key + ' ' + ' '.join(dic_a[key]) + '\n'
            f2.write(data_line)
main()

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-19 23:17:01 | 显示全部楼层
数据没保存成功,不知道是什么原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 09:04:06 | 显示全部楼层
李白清洁球 发表于 2020-3-19 23:17
数据没保存成功,不知道是什么原因

你的 game_many_user.txt 里面是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 07:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表