如何从这个例子打印最高分?

时间:2017-06-25 19:51:53

标签: python-3.x max

我是编程语言和学习Python的新手。首先,我如何有效,快速地学习Python编程语言?

其次,你能帮忙运行下面的程序吗?任何反馈都将受到高度赞赏。欢呼声。

代码

LocalDateTime end = tend.getLocalDateTime();

// if you need these:
LocalDate endDate = end.toLocalDate();
LocalTime endTime = end.toLocalTime();

// to display:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm");
String stringEnd = formatter.format(end);

结果:

5.0

7.5

6.75

4.0

追踪(最近一次通话):   文件" D:/Study/Python/page116.py" ;,第16行,in     最高=最大(results_as_float) ValueError:无法将字符串转换为float:'。'

1 个答案:

答案 0 :(得分:0)

对第一个问题的回答取决于你如何最好地学习,不同的人以不同的方式有效和快速地学习新概念。但是一般遇到像这样的问题,并且参考official documentation学习python内置库函数,然后是其他第三方库,通常是学习python和其他编程语言的最佳方法。

至于问题,它起源于处理python如何读取文本文件。一切都被读作字符串(str类型)。然后错误从行results += each_line开始。您最初在第3行results上定义为listresults = [],但results += each_line使用每行的字符串(包括标点符号和换行符)在列表中执行连接( '\n')字符。所以results最终看起来像:

results = ['5', '.', '0', '\n', '\n', '7', '.', '5', '\n', '\n', '6', '.', '7', '5', '\n', '\n', '4', '.', '0']

这可能不是您想要的float数字列表中的内容。所以要解决这个问题,我们需要从文件中清除每一行python读取并去掉换行符,直到我们只有一个数字列表作为“字符串”,然后将map()函数应用到该列表:

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)

现在打印:

5.0

7.5

6.75

4.0
Highest score is :  7.5

希望这有帮助。