【发布时间】:2018-10-05 22:46:13
【问题描述】:
我需要创建一个程序来打开一个文件,然后读取文件中的值,然后打印出具有最大值的名称。
该文件包含以下信息:
Juan,27
Joe,16
Mike,29
Roy,10
现在我的代码如下:
UserFile=input('enter file name')
FileOpen=open(User File,'r')
for lines in User File:
data=line.split(",")
name=data[0]
hrs=data[1]
hrs=int(hrs)
LHRS = 0
if hrs > LHRS:
LHRS = hrs
if LHRS == LHRS:
print('Person with largest hours is',name)
打印出以下内容:
时间最长的人是胡安
时间最长的人是迈克
我怎样才能让它只打印出真正最大的?
【问题讨论】:
-
您已经取得了一些不错的进展,但是您需要考虑几个问题。 1.修正你在这个问题中的缩进。 2. 您正在为文件中的每一行重置
LHRS = 0,这会弄乱您的算法。 3.LHRS == LHRS永远是真的。 4. 你需要在某个地方记录下工作时间最多的人的名字。 5. 你只想在程序结束时打印一个人,但是你把那个代码放在一个循环中,这意味着它可能会在结束之前发生很多次。
标签: python text-files return-value filereader