python学习—玖—常用实例

目录

零、数学

计算三角形面积

计算圆面积

阶乘

判断质数

壹、排序

插入排序

冒泡排序

选择排序

贰、小工具

日历

获取时间


零、数学

计算三角形面积

三角形面积公式是什么呢?底乘高除以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())

结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值