1
while True:
d=input()
data=d.split(":",2)
if d.strip()=='':
break
這是我使用從keyboard.suppose輸入讀取數據的代碼是:問題進行讀取輸入
Williams:Muguruza:3-6,6-3,6-3
我的預期成果是['Williams','Murguza','3-6,6-3,6-3']
。但我得到的輸出爲''
(當我用print(d)
)。爲什麼我會得到this.Here我使用while循環,因爲用戶提供連續輸入和輸入由空行終止
編輯:對不起,我不完全information.The投入將是這樣的:
Djokovic:Murray:7-6,4-6,7-6,2-6,6-2
Murray:Djokovic:7-5,7-5
Williams:Muguruza:3-6,6-3,6-3
我要讀所有的輸入和最後當用戶提供空行(按壓ENTER鍵兩次)它是input.For的端部的每個輸入我要提取一些信息,如data
和一些其他的東西。我是給人的完整代碼:
while True:
d=input()
if d.strip()=='':
break
data=d.split(":",2)
try:
b=isinstance(playerstats,dict)
except NameError:
playerstats={}
if data[0] not in playerstats:
playerstats[data[0]]={}
playerstats[data[0]]["5setswon"]=0
playerstats[data[0]]["3setswon"]=0
playerstats[data[0]]["setswon"]=0
playerstats[data[0]]["gameswon"]=0
playerstats[data[0]]["setslost"]=0
playerstats[data[0]]["gameslost"]=0
playerstats[data[0]]
if data[1] not in playerstats:
playerstats[data[1]]={}
playerstats[data[1]]["5setswon"]=0
playerstats[data[1]]["3setswon"]=0
playerstats[data[1]]["setswon"]=0
playerstats[data[1]]["gameswon"]=0
playerstats[data[1]]["setslost"]=0
playerstats[data[1]]["gameslost"]=0
if data[2].count("-")>3:
playerstats[data[0]]["5setswon"]+=1
else:
playerstats[data[0]]["3setswon"]+=1
p1=data[2][::4]
p2=data[2][2::4]
setswon=sum(x>y for x,y in zip(p1,p2))
setslost=data[2].count("-")-setswon
playerstats[data[0]]["setswon"]+=setswon
playerstats[data[0]]["setslost"]+=setslost
playerstats[data[1]]["setswon"]+=setslost
playerstats[data[1]]["setslost"]+=setswon
gameswon=sum(int(x) for x in p1)
playerstats[data[0]]["gameswon"]+=gameswon
playerstats[data[1]]["gameslost"]+=gameswon
gameslost=sum(int(x) for x in p2)
playerstats[data[0]]["gameslost"]+=gameslost
playerstats[data[1]]["gameswon"]+=gameslost
我的代碼的主旋律是保持一個字典爲每個球員像場失利etc..But我收到錯誤這樣一些信息:
Traceback (most recent call last):
File "<pyshell#2>", line 29, in <module>
if data[2].count("-")>3:
IndexError: list index out of range
我希望我用來讀取用戶輸入的代碼wrong.But我真的不知道我要去的地方wrong.The最終輸出什麼,我應該得到的是:
{'Williams': {'5setswon': 0, '3setswon': 1, 'setswon': 2, 'gameswon': 0, 'setslost': 0, 'gameslost': 0}, 'Muguruza': {'5setswon': 0, '3setswon': 0, 'setswon': 0, 'gameswon': 0, 'setslost': 0, 'gameslost': 0}}
以上僅僅是一個示例輸出