Antwort auf die erste Frage hängt davon ab, wie Sie am besten lernen, lernen verschiedene Menschen neue Konzepte effektiv und schneller auf unterschiedliche Weise. Aber im Allgemeinen Probleme wie diese zu begegnen, und unter Bezugnahme auf die official documentation, um die Python-integrierte Bibliotheksfunktionen zu lernen, dann andere Bibliotheken von Drittanbietern, ist in der Regel der beste Weg, um Python und andere Programmiersprachen zu lernen.
Wie für das Problem, es stammt aus der Handhabung, wie Python liest Text-Dateien. Alles wird als Strings gelesen (str
Typ). Dann beginnen die Fehler mit der Zeile results += each_line
. Sie haben ursprünglich in Zeile 3 results
als list
: results = []
definiert, aber results += each_line
führt die Verkettung in die Liste unter Verwendung der Zeichenfolgen jeder Zeile durch, einschließlich der Zeichensetzung und der Zeilenvorschubzeichen ('\n'
). so endet results
schließlich nach oben wie die Suche:
results = ['5', '.', '0', '\n', '\n', '7', '.', '5', '\n', '\n', '6', '.', '7', '5', '\n', '\n', '4', '.', '0']
das ist wahrscheinlich nicht das, was Sie in Ihrer Liste der float
Zahlen wollen. Also, dies zu beheben, müssen wir jede Zeile Python aus der Datei liest reinigen und die Zeilenumbrüche abzustreifen, bis wir nur eine Liste von Zahlen als „Strings“ haben, dann wenden Sie die map()
Funktion dieser Liste:
highest = 0
lowest = 0
results = []
result_f = open("results.txt")
for each_line in result_f:
print(each_line.strip())
results.append(each_line.strip())
result_f.close()
results = filter(None, results)
results_as_float = map(float, results)
highest = max(results)
print("Highest score is : " , highest)
Wird jetzt drucken:
5.0
7.5
6.75
4.0
Highest score is : 7.5
Hoffnung, das hilft.