あなたの答えに親切にしてください。私は今10日間コーディングしています。コードでループを実行する際に問題がありますが、これはトレースバックが発生しているためであると確信しています。
次のコードを使用して、URL から取得した xml ファイルを解析します。
pattern4 = re.compile('title=\'Naps posted: (.*) Winners:')
pattern5 = re.compile('Winners: (.*)\'><img src=')
for row in xmlload1['rows']:
cell = row["cell"]
##### defining the Keys (key is the area from which data is pulled in the XML) for use in the pattern finding/regex
user_delimiter = cell['username']
selection_delimiter = cell['race_horse']
##### the use of the float here is to make sure the result of the strike rate calculations returns as a decimal, otherwise python 2 rounds to the nearest integer!
user_numberofselections = float(re.findall(pattern4, user_delimiter)[0])
user_numberofwinners = float(re.findall(pattern5, user_delimiter)[0])
strikeratecalc1 = user_numberofwinners/user_numberofselections
strikeratecalc2 = strikeratecalc1*100
##### Printing the results of the code at hand
print "number of selections = ",user_numberofselections
print "number of winners = ",user_numberofwinners
print "Strike rate = ",strikeratecalc2,"%"
print ""
getData()
このコードと残りのコードは次を返します。
number of selections = 112.0
number of winners = 21.0
Strike rate = 18.75 %
number of selections = 146.0
number of winners = 21.0
Strike rate = 14.3835616438 %
number of selections = 163.0
number of winners = 55.0
Strike rate = 33.7423312883 %
この xmlload の結果は、解析するユーザーが 3 人しかいないことを示唆していますが、4 人目のユーザーがデータを読み取る可能性があります。
number of selections = 0
number of winners = 0
Strike rate = 0
私の目的では、実績のないユーザーの統計を取得する必要はありません。コードを作成して、選択が0のユーザーをスキップするか、少なくともゼロ除算エラーが能力に影響を与えないようにする方法を教えてください。ループで実行するコード?
敬具!