请编写一个存储玩家资料的程序。程序要求输入玩家的姓名、年龄、国籍。要求使用字典存储玩家资料,且要求程序输入玩家信息后,可以在退出程序前将玩家信息存储到一个与Python程序同目录名字为player. txt的文本文件中,并将txt文件中的用户信息读取到屏幕上,可以选择使用readline()方法读取信息,即每次读取一名玩家的信息。读取到的信息内容是一行字符串,该字符串以”\n”结尾。首先需要使用字符串函将”\n”去掉,去掉”\n”后的玩家的各种信息之间是以空格为区分的。可以使用split()函数将玩家信息按顺序存储在一个列表中。最后通过挨个读取列表项的方式将玩家信息逐一读取到屏幕上
该回答引用chatgpt:
def save_player_info(player_info):
with open("player.txt", "a") as file:
file.write(player_info + "\n")
def read_player_info():
with open("player.txt", "r") as file:
lines = file.readlines()
for line in lines:
player_info = line.strip()
player_data = player_info.split()
print("姓名:", player_data[0])
print("年龄:", player_data[1])
print("国籍:", player_data[2])
print("----------------------")
def main():
players = []
while True:
print("欢迎使用玩家资料存储程序!")
name = input("请输入玩家姓名(输入q退出): ")
if name == "q":
break
age = input("请输入玩家年龄: ")
country = input("请输入玩家国籍: ")
player = {
"姓名": name,
"年龄": age,
"国籍": country
}
players.append(player)
for player in players:
player_info = " ".join([player["姓名"], player["年龄"], player["国籍"]])
save_player_info(player_info)
print("已存储的玩家信息:")
read_player_info()
if __name__ == "__main__":
main()
# 定义一个空字典,用于存储玩家资料
players = {}
# 循环输入玩家信息,直到用户选择退出为止
while True:
# 提示用户输入玩家信息
name = input("请输入玩家姓名:")
age = input("请输入玩家年龄:")
country = input("请输入玩家国籍:")
# 将玩家信息添加到字典中
players[len(players)+1] = {"name": name, "age": age, "country": country}
# 提示用户是否继续输入玩家信息
choice = input("是否继续输入玩家信息?(Y/N)")
if choice.upper() == "N":
break
# 将玩家信息存储到文本文件中
with open("player.txt", "w") as f:
for player in players.values():
f.write(f"{player['name']} {player['age']} {player['country']}\n")
# 从文本文件中读取玩家信息
with open("player.txt", "r") as f:
for line in f:
# 去掉行末的换行符
line = line.strip()
# 将玩家信息按空格切割,存储到列表中
player_info = line.split()
# 输出玩家信息
print(f"姓名:{player_info[0]},年龄:{player_info[1]},国籍:{player_info[2]}")
player_info = {}
name = input("请输入玩家姓名:")
age = input("请输入玩家年龄:")
nationality = input("请输入玩家国籍:")
player_info["姓名"] = name
player_info["年龄"] = age
player_info["国籍"] = nationality
with open("player.txt", "a") as f:
f.write(str(player_info) + "\n")
with open("player.txt", "r") as f:
while True:
player = f.readline()
if not player:
break
player = player.strip("\n")
player_list = player.split(",")
for item in player_list:
print(item)