Python学习笔记③
题1.定义一个函数,它能从输入的列表[2,6,7,4,9,5,1,0,3,8]中找到最大值,输出运算时间,并把结果写成一个文本文件写在运行脚本的同一路径下。
分别实现题中的各个要求。首先实现找最大值的功能,代码如下。
arr = input("")
i = 0
y = 0
num = [int(n) for n in arr.split()] //通过分隔符对字符串进行切片,同时将数组中元素转化为int型
list_len = len(num) //得到所输入数组的长度
for i in range(0, list_len):
if y < num[i]:
y = num[i]
print(y)
然后是计算运算时间,因为运算时间太短,所以我们在程序中延时一秒。
import time
time1 = time.time()
time.sleep(1)
time2 = time.time()
diff = time2 - time1
print(diff)
执行上述程序,运算结果如下:
1 2 3 4 51 6 7 8 9//手动输入的数组
51
1.0039832592010498
进程已结束,退出代码 0
最后将结果写入文本文件中并保存。最终代码如下。
import time
def findmax():
arr = input("")
i = 0
y = 0
num = [int(n) for n in arr.split()]
time1 = time.time()
list_len = len(num)
time.sleep(1)
for i in range(0, list_len):
if y < num[i]:
y = num[i]
file = open("test2.17.txt", "w")
file.write(str(y)) //此处必须将int型数据改成string型
file.close()
time2 = time.time()
diff = time2 - time1
return y, diff
a, b = findmax()
print(a)
print(b)
运行结果:
2 6 7 4 9 5 1 0 3 8
9
1.000434160232544
进程已结束,退出代码 0
查看脚本目录,确实创建了要求的文件。