首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回金额时,在python中不打印数字

返回金额时,在python中不打印数字
EN

Stack Overflow用户
提问于 2019-05-29 01:27:51
回答 3查看 37关注 0票数 0

我有一些代码,它从文本文件中读取,并打算打印最大和最小高度,但最小高度不打印,也没有错误。

代码语言:javascript
运行
复制
altitude = open("Altitude.txt","r")

read = altitude.readlines()

count = 0

for line in read:
    count += 1

count = count - 1
print("Number of Different Altitudes: ",count)


def maxAlt(read):
    maxA = (max(read))
    return maxA

def minAlt(read):
    minA = (min(read))
    return minA

print()
print("Max Altitude:",maxAlt(read))
print("Min Altitude:",minAlt(read))
altitude.close()

我将包括高度文本文件,如果它是必要的,并再次最低高度不打印

EN

回答 3

Stack Overflow用户

发布于 2019-05-29 01:34:55

我假设,您的文件可能包含数字和换行符(\n)

你在这里读到它:

代码语言:javascript
运行
复制
read = altitude.readlines()

此时,read是一个字符串列表。

现在,当你这样做的时候:

代码语言:javascript
运行
复制
minA = (min(read))

它正在尝试获取“read中最小的字符串”

最小的字符串通常是空字符串"" -它很可能存在于文件的末尾。

所以你的minAlt实际上已经打印出来了。但它恰好是空字符串。

您可以通过将读取的行解析为数字来修复它。

代码语言:javascript
运行
复制
read = [float(a) for a in altitude.readlines() if a]
票数 1
EN

Stack Overflow用户

发布于 2019-05-29 01:36:18

尝试下面的解决方案

代码语言:javascript
运行
复制
altitudeFile = open("Altitude.txt","r")

Altitudes = [float(line) for line in altitudeFile if line] #get file data into list.

Max_Altitude = max(Altitudes)
Min_Altitude = min(Altitudes)

altitudeFile.close()
票数 0
EN

Stack Overflow用户

发布于 2019-05-29 01:37:35

将您的代码更改为以下代码

代码语言:javascript
运行
复制
with open('numbers.txt') as nums:
        lines = nums.read().splitlines()

results = list(map(int, lines))
print(results)
print(max(results))

前两行读取文件并将其存储为列表。第三行将字符串列表转换为整数,最后一行在列表中搜索并返回max,使用min表示最小值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56347355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档