我正在开发一个用Python创建战争纸牌游戏的项目。作业要求使用 csv 文件创建 52 张扑克牌,但我遇到了麻烦。我通过 Excel 创建了 csv 文件并尝试导入它,但它不起作用。我是初学者。
这是 excel csv 文件: ![2]:https://gyazo.com/60b87342bbe22b8feffb1b2d8a5653ae
我试图效仿教授的例子,但它对这项作业来说并不适用。
import csv
with open('PlayingCards.csv')as csvfile:
PlayingCards = csv.reader(csvfile,delimiter = ',')
print('Card Names','\t', 'Card Values','\t', 'Suits')
for row in PlayingCards:
print('%-7s %-10s% 3.2f% 3.2f'%
(row[0],row[1]))
我希望它打印出来像这样或类似的东西:![1]:https://gyazo.com/d2fc57640c3b64640c1ebde652b4d808 但我收到错误。
要完成这项特定的工作,您需要了解您正在处理的数据类型。 这些套装就像主牌组一样,与每张牌的价值相匹配。
所以第一阶段将是这样的。
import csv
card_name_to_value_dict = {}
suit_list = []
with open('PlayingCards.csv')as csvfile:
PlayingCards = csv.reader(csvfile, delimiter = ',')
for row in PlayingCards
new_cardname, new_cardvalue, new_suitvalue = row
if new_cardname:
card_name_to_value_dict[new_cardname] = new_cardvalue
if new_suitvalue.strip():
suit_list.append(new_suitvalue.replace("\n",""))
string_result = "\n".join(["\t".join([name, suit, value]) for each_suit in suit_list for name,value in card_name_to_value_dict.items()])
print string_result
# The string result can be saved into a file for submission
我尽可能重复使用了大部分变量,以便您可以更轻松地理解它,如果您需要任何说明,请告诉我。