1059: 最高分-python

1059: 最高分-python

题目描述:

输入一批学生的成绩(整数),输出最高分。
输入
输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。
输出
输出一个整数,即最高分。单独占一行。
样例输入 Copy
 7 6 5 9 2 -1
样例输出 Copy
9

答案:

n=input().split()
f=[]
for i in n:
    f.append(int(i))
f.sort()
print(f[-1])

总结:
1.开始错误:

n=input().split()
n.sort()
print(n[-1])

输出:

input 879 365 235 6970 99 -1
output 99

错误原因是因为在这里我是对“879 365 235 6970 99 -1”这些字符进行大小排序而不是数字本身,所以我先设置了一个空列表然后将输入的字符转为数字加到空列表中。然后进行排序,输出最后一位便是最大值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用以下Python 3.10代码来解析通达信终端系统下载的二进制文件,并将其转换为CSV文件: ```python import struct import csv # 打开二进制文件 with open("D:\\Quant1\\sz000001.lc1", "rb") as f: # 读取文件头,通达信文件头占用32个字节 f.read(32) # 读取数据记录条数,每条记录占用32个字节 count = (len(f.read()) - 32) // 32 # 重新打开文件,跳过文件头 f.seek(32) # 创建CSV文件 with open("D:\\Quant1\\sz000001.csv", "w", newline="") as csv_file: # 创建CSV写入器 writer = csv.writer(csv_file) # 写入CSV表头 writer.writerow(["日期", "时间", "开盘价", "最高价", "最低价", "收盘价", "成交量", "成交金额"]) # 循环读取数据记录 for i in range(count): # 读取每条记录的数据 data = f.read(32) # 解析数据 record = struct.unpack("<IIIIIIII", data) # 将时间格式转换为HH:MM格式 time_str = str(record[1] // 100).zfill(2) + ":" + str(record[1] % 100).zfill(2) # 将价格和成交量转换为元和手的格式 row = [str(record[0]), time_str, str(record[2]/100), str(record[3]/100), str(record[4]/100), str(record[5]/100), str(record[6]*100), str(record[7]/100)] # 写入CSV文件 writer.writerow(row) ``` 以上代码首先打开二进制文件,读取文件头和数据记录条数。然后,重新打开文件,从文件头之后开始读取数据记录。在循环中,每次读取32个字节,然后使用struct模块解析数据,将时间格式转换为HH:MM格式,将价格和成交量转换为元和手的格式,最后将解析出来的数据写入CSV文件中。需要注意的是,struct模块中的"<"表示小端字节序,"I"表示4个字节的无符号整数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值