【发布时间】:2020-06-05 05:48:20
【问题描述】:
这是文件:
Admiral,30,1
General,25,1
Colonel,20,2
Major,15,2
Captain,10,2
Lieutenant,7,2
Sergeant,5,4
Corporal,3,6
Private,1,10
我需要显示牌组(以列表形式)并输出有多少张牌。文件中的最后一个数字表示有多少张卡片。所以甲板上有 1 张海军上将卡,2 张上校,10 张列兵,等等。
以下是我目前的代码:
numFile = open("ranks.dat", "r")
#list fields
rankList = []
skillList = []
numberList = []
while True:
text = numFile.readline()
text = text.rstrip("\n")
if text=="":
break
info = text.split(",")
rankList.append(info[0])
skillList.append(int(info[1]))
numberList.append(int(info[2]))
numFile.close
print("Rank\t\tSkill\t\tNumber")
print(45*"=")
for i in range(len(rankList)):
print("%-10s\t%3i\t\t%3i" %(rankList[i], skillList[i], numberList[i]))
如何添加卡片组列表?
如何在列表中添加卡片组?列表应该是这样的:
========================================
Level 3 Build Deck
========================================
['Admiral', 'General', 'Colonel', 'Colonel', 'Major', 'Major', 'Captain', 'Captain', 'Lieutenant', 'Lieutenant', 'Sergeant', 'Sergeant', 'Sergeant', 'Sergeant', 'Corporal', 'Corporal', 'Corporal', 'Corporal', 'Corporal', 'Corporal', 'Private', 'Private', 'Private', 'Private', 'Private', 'Private', 'Private', 'Private', 'Private', 'Private']
【问题讨论】:
-
那段代码有什么问题?
-
@jonrsharpe 该代码没有问题,我需要从文件中添加卡片组列表,但我不知道该怎么做
-
那么您能否改写您的问题 - 或打开一个新问题 - 以从 Python 中读取文件。理想情况下,请给我们一个您要阅读的文件的示例。
-
@mrblewog 是的,我可以做到这一点,我如何给你一个你想阅读的文件的例子——有什么方法可以附加吗?我把文件的内容放在文件的顶部,够了吗?
-
您的代码似乎可以正常显示文件示例中的牌组。您是否只缺少显示卡片总数?卡数刚好
sum([int(x) for x in numberList])
标签: python