我正在一个项目中用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 但是我得到一个错误。
答案 0 :(得分:0)
要执行此特定工作,您需要了解要处理的数据类型。 西装就像主甲板一样,随身携带每张卡。
所以这个第一阶段就是这样。
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
我尽可能地重用了大多数变量,以便您更容易理解它,如果需要任何说明,请告诉我。