如何根据文件每行内容输出指定字符串?Python卡牌游戏开发求助
实现方案
你需要先逐行读取存储卡牌状态的文件,对每行内容做去空白处理后再判断值,再对应执行打印逻辑,修正后的代码如下:
def mainfunc(): # 读取卡牌状态文件所有行,去除每行末尾冗余的换行符、空格 with open("RIPScards", "r", encoding="utf-8") as f: card_lines = [line.strip() for line in f.readlines()] for line_content in card_lines: if line_content == "0": # 状态0对应打印卡牌详情 print("the card this line represents") elif line_content == "1": # 状态1对应打印锁定标识 print("locked") else: # 读到非0/1内容视为到达文件末尾,触发卡组操作提示 print("your deck:") # 此处补充你自己的打印当前卡组逻辑 print("which card do you want to add?") # 可以直接用len(card_lines)获取文件行数,无需重复调用读文件的统计函数 print(len(card_lines)) break
注意事项
- 必须用
strip()处理读取到的每行内容,避免行尾自带的换行符导致0/1判断失败 - 用
for循环遍历文件行比手动维护计数变量的while循环更简洁,不会出现索引越界错误 - 如果你已经实现了
filelinecount函数,直接替换掉代码中的len(card_lines)即可正常使用
内容的提问来源于stack exchange,提问作者Sam Larkin
相关产品推荐
相关产品推荐

