目录
零、数学
计算三角形面积
三角形面积公式是什么呢?底乘高除以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 calendar # 导入日历模块
year = int(input("输入年份: "))
month = int(input("输入月份: "))
print(calendar.month(year,month))
结果:
获取时间
获取昨天的时间
import datetime
def getYesterday():
today=datetime.date.today()
oneday=datetime.timedelta(days=1)
yesterday=today-oneday
return yesterday
print(getYesterday())
结果: