1. random库
随机整数用法:
random.randint(a,b)
1以内的随机小数用法:
random.random()
随机小数用法:
random.uniform(a,b)
2. time库
time库进行代码运行计时:
import time a = time.time() b = input() c = time.time() print(c - a)
获取现在的时间:
import time a = time.localtime() print(a)
3. math库
开根号函数:
import math a = math.sqrt(3) print(a)
4. 系统内部函数
取绝对值函数:
a = abs(-3) print(a)
最大值、最小值、求和函数:
ls = [1,2,3,4,5] print(max(ls)) print(min(ls)) print(sum(ls))
求幂问题:
pow(数字,几次方)
练习1:有以下一段代码,小明不知道这段代码对不对,请你随机生成10个1~10000(不重复)的测评数据,给出结果。(每次代码运行时间不超过1秒)
def is_zs(n):
total = 0
for i in range(1,n):
if n % i == 0:
total += 1
return total == 1 or total == 2
测试(输出)数据样例:1 2 3 4 5 6 7 8 9 10000
输出数据样例:正确 正确 正确 错误 正确 正确 正确 正确 错误 正确
题目分析:先导入math库,random库,还有time库,然后先自己编写正确的代码,在列表里存放正确的答案,然后再和小明写的程序运行出的答案进行比较,就可以完成评测了。
import random
import time
import math
def is_zs(a):
times = 0
for i in range(1,a + 1):
if a % i == 0:
times += 1
return times == 2
n = []
right_answer = []
for i in range(10):
while True:
a = random.randint(1,10000)
if a not in n:
n.append(a)
break
for i in range(len(n)):
right_answer.append(is_zs(n[i]))
for i in range(len(n)):
print(n[i],end = " ")
print()
for k in range(len(n)):
try:
a = time.time()
def is_zs(n):
total = 0
for i in range(1,n):
if n % i == 0:
total += 1
return total == 1 or total == 2
total = is_zs(n[k])
b = time.time()
if b - a > 1:
print("超时",end = " ")
elif total == right_answer[k]:
print("正确",end = " ")
else:
print("错误",end = " ")
except:
print("运行错误")
break
练习题2:小明输入了一些字符串,请你计算他每分钟打多少个字符。
输入样例:abcde(用时5秒)
输出样例:60
题目分析:用time库进行计时,然后计算打字速度。
import time
a = time.time()
b = input()
c = time.time()
sudu = len(b) / (c - a) * 60
print("%d"%(sudu))
练习题3:勾股定理,一个直角三角形,斜边长n,一条直角边长m,它的面积是多少?(结果保留整数)(n > m)
输入样例:5
4
输出样例:6.00
题目分析:用m * m + x * x = n * n的公式来计算另外一条直角边的长度,然后用x * m / 2求出三角形的面积,保留两位小数输出。
import math
n = float(input())
m = float(input())
x = math.sqrt(n * n - m * m)
mianji = x * m / 2
print("%.2f"%(mianji))
这节课我们就讲到这里,下节课我们来讲讲数据分析库pandas的用法吧!
python STL教程即将出炉!
下次更新时间:6月5日



