【发布时间】:2017-09-20 20:33:35
【问题描述】:
我希望程序向五个玩家中的每一个询问七个问题,计算玩家得分,然后显示每个玩家得分的列表,例如 第 1 周的积分 玩家 1 43 玩家2 26 player3 38 等
然后再次向玩家提问,并在第 2 周做同样的事情。
目前程序只会显示第一个玩家的分数,然后再次向所有五个玩家提问,但只显示第二个玩家的分数,它会重复五次,同时只遍历玩家。
我哪里错了,任何帮助将不胜感激
playerList=[]
def Playeradd():
playerList.append(item)
def Playercreate():
global item
item = raw_input("Enter Player name: ")
Playeradd()
[Playercreate()for _ in range (5)]
print "You have selected", len(playerList), "players for your squad, Your selected squad is.."
for item in playerList:
print item
player =Playercreate
scorecheck=[]
x=0
totalscore=0
def pointsaward():
global scorecheck, totalscore
y=1
player=y
x=0
while x < 5:
print "Please enter score for ", playerList[x]
for player in playerList:
print "Did "+player+" play in the game?"
play = raw_input(" Did he play the match (yes or no?) ")
if play == "yes":
play1=2
goalS= int(raw_input(" Did he score, if so how many?"))
goalS=goalS*5
goalA= int(raw_input(" How many assists?"))
goalA=goalA*3
motm= raw_input(" Did he win man of the match (yes or no?) ")
if motm == "yes":
motm1=5
else:
motm1=0
yelC=raw_input(" Did he recieve a yellow card (yes or no?) ")
if yelC == "yes":
yelC1= -1
else:
yelC1=0
redC=raw_input(" Did he recieve a red card (yes or no?) ")
if redC == "yes":
redC1= -5
else:
redC1=0
PenM=raw_input(" Did he miss a peno(yes or no?) ")
if PenM == "yes":
PenM1= -3
else:
PenM1=0
else:
play1=0
print player+" did not play"
playerpoint1= play1+goalS+goalA+yelC1+redC1+PenM1
PlayerandScore= [playerList[x],playerpoint1,]
scorecheck.append(PlayerandScore)
totalscore+= playerpoint1
x+= 1
y+= 1
print "This player has scored a total of ", PlayerandScore, " this week "
pointsaward()
【问题讨论】:
标签: python-2.7 loops variables while-loop nested