Python 在游戏中为多个玩家添加点数的代码
我正试图写一个简单的代码来帮助我在玩纸牌游戏时跟踪玩家的名字和点数Python 在游戏中为多个玩家添加点数的代码,python,pandas,list,points,Python,Pandas,List,Points,我正试图写一个简单的代码来帮助我在玩纸牌游戏时跟踪玩家的名字和点数 import pandas as pd print('Willkommen zum Punkterechner!') #asking for number of players p_count = int(input("Anzahl der Spieler?: ")) p_list = [] points = [0]*p_count #asking for name of players in range of numb
import pandas as pd
print('Willkommen zum Punkterechner!')
#asking for number of players
p_count = int(input("Anzahl der Spieler?: "))
p_list = []
points = [0]*p_count
#asking for name of players in range of number of players
for i in range(p_count):
p_name = input('Wie lautet der Name von Spieler ' + str(i+1) + '?: ')
p_list.append(p_name)
d = {'Spieler': p_list, 'Punkte': points}
df = pd.DataFrame(data=d)
print(df)
current_round = 1
for i,j in enumerate(p_list):
points_round = int(input('Punkte für ' + j + ' in Runde ' + str(current_round) + ': '))
points[i] += points_round
print(df)
现在我需要帮助找到一种方法来计算每轮/每名球员的积分。我还希望不断更新当前的_回合,直到类似input('keep Playing?')
的内容为“No”
有什么想法吗
谢谢你我会设置你的字典
d
,让玩家ID作为键,点作为值,如下所示:
d = {k: v for k,v in zip(p_list, points)}
然后,当ID为j
的玩家“得分”n
时,你可以只做d[j]+=n
这里是这样设置的游戏(您可能知道如何在我的代码中打印一个漂亮的数据帧,而不是原始的字典)。我添加了一些示例代码来处理可选的后续循环
import pandas as pd
import operator
print('Willkommen zum Punkterechner!')
#asking for number of players
p_count = int(input("Anzahl der Spieler?: "))
p_list = range(1, p_count+1)
points = [0]*p_count
d = {k: v for k,v in zip(p_list, points)}
def play_round(current_round=1):
for player in d.keys():
points_round = int(input('Punkte für ' + str(player) + ' in Runde ' + str(current_round) + ': '))
d[player] += points_round
print(d)
if input('Noch ein Spiel?') == 'Nein':
winner = max(d.items(), key=operator.itemgetter(1))[0]
print(f'Der Gewinner ist {winner} mit {d[winner]} Punkten!')
return
else:
play_round(current_round+1)
play_round()