目录
零、数学
计算三角形面积
计算圆面积
阶乘
判断质数
壹、排序
插入排序
冒泡排序
选择排序
贰、小工具
日历
获取时间
三角形面积公式是什么呢?底乘高除以2,除了这个还有吗?还记得海伦公式吗,根据三边长度求面积。
1、底乘高除以2
2、p=(a+b+c)/2
S=sqrt[p(p-a)(p-b)(p-c)]
我们已经有了三角形的计算公式,然后我们只需要一步一步的将公式用程序表达出来,然后实现我们想要的效果即可
#求三角形面积 while 1: print("请选择三角形面积计算公式:") flag = input("1:知道底和高;2:知道三边长;3:退出程序") flag = int(flag) if flag == 1: a = int(input("请输入底的长度:")) h = int(input("请输入高的长度:")) area = a * h * 0.5 print(f"根据您的输入,求得的面积为{area}") continue elif flag == 2: a = int(input("请输入第一条边长:")) b = int(input("请输入第二条边长:")) c = int(input("请输入第三条边长:")) p = (a + b + c) * 0.5 area = (p*(p-a)*(p-b)*(p-c)) ** 0.5 print(f"根据您的输入,求得的面积为{area}") continue elif flag == 3: break else: print("您输入有误,请重新输入") continue结果:
圆面积的计算公式没什么多说的,我们写一个计算圆面积的函数,然后在调用这个函数
def area(r): pi = 3.142 s = pi * r * r print(f"圆的面积为{s}") r = int(input("请输入圆的半径:")) area(r)结果:
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1,且负数没有阶乘
print(" ***计算阶乘***") print("---------------") num = int(input("请输入一个数字:")) result = 1 if num == 0: print("阶乘结果为1") elif num < 0: print("负数不存在阶乘") else: for i in range(1,num+1): result = result * i print(f"阶乘结果为{result}")结果:
你也可以把它像计算三角形面积一样把他写进死循环里,一直运行知道按特殊键退出
质数就是只能被 1 和它本身整除的数,并且质数大于 1
num = int(input("请输入一个数字:")) if num > 1: for i in range(2,num): if(num % i == 0): print(f"{num}不是质数") break else: print(f"{num}是质数") else: print(f"{num}不是质数")结果:
插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
arr = [4,2,7,5,9,6] for i in range(1, len(arr)): key = arr[i] j = i-1 while j >= 0 and key < arr[j] : arr[j+1] = arr[j] j -= 1 arr[j+1] = key print(arr)结果:
冒泡排序一次比较两个元素,如果他们的顺序错误就把他们交换,重复进行直到没有再需要交换的元素
arr = [24,32,12,26,19] for i in range(len(arr)): for j in range(0, len(arr)-i-1): if arr[j] > arr[j+1] : arr[j], arr[j+1] = arr[j+1], arr[j] print(arr)结果:
选择排序较简单,首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
import sys arr = [23,45,12,29,19] for i in range(len(arr)): min = i for j in range(i+1,len(arr)): if arr[min] > arr[j]: min = j arr[i],arr[min] = arr[min],arr[i] print(arr)结果:
结果:
获取昨天的时间
import datetime def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday print(getYesterday())结果:
