- 一、圆的面积
- print("A={:.4f}".format(s))
- 二、两点间的距离![在这里插入图片描述](https://img-blog.csdnimg.cn/0d07c41d856d470796c79067b78c41b6.png)
- 写法一:
- 写法二:
- 三、钞票和硬币
- 写法一:
- 写法二:
- 四、倍数
- 在python中实现swap函数
- 五、一元二次方程公式
- import math ---->math.sqrt
- 六、简单排序
- 排序 sorted、读入数组
- 七、税
- 写法一:
- exit()退出程序
- 写法二:
- for data in datas[::-1]:
- round(res,2)
- 八、游戏时间2
- 还能这样子记录输入!!!
本来直接打算直接开始一些基础的算法的,但是后来发现就是还是比较难,自己还是从基础功开始吧。
一、圆的面积
print(“A={:.4f}”.format(s))
这行代码是将变量s按照格式化字符串的要求输出,其中{:.4f}表示输出的浮点数保留4位小数。具体含义如下:
{}:花括号用于标记输出字段的起始和结束位置;
::冒号表示格式说明符的开始;
.4f:表示浮点数格式说明符,其中:
.:小数点,用于指定精度;
4:表示保留4位小数;
f:表示浮点数类型。
r=float(input())
s=3.14159*r*r
print("A={:.4f}".format(s))
二、两点间的距离
写法一:
from math import sqrt
x1,y1=map(float,input().split())
x2,y2=map(float,input().split())
s=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
print("{:.4f}".format(s))
写法二:
x1,y1=map(float,input().split())
x2,y2=map(float,input().split())
s=(x2-x1)**2+(y2-y1)**2
print("{:.4f}".format(s**0.5))
三、钞票和硬币
写法一:
python在计算小数的时候,可能会出现小数溢出的情况,所以要将之前的数据放大再缩小。
t1 = [ 100,50,20,10,5,2]
t2 = [1,0.50,0.25,0.10,0.05,0.01]
n = float(input())*100#放大100倍
print('NOTAS:')
for i in t1:
i = i*100
if n>=i:
print('{:.0f} nota(s) de R$ {:.2f}'.format(n//i,i/100))
n = n-(n//i)*i
else:
print('0 nota(s) de R$ {:.2f}'.format(i/100))
if n != 0:
print('MOEDAS:')
for i in t2:
i = i * 100
if n>=i:
print('{:.0f} moeda(s) de R$ {:.2f}'.format(n//i,i/100))
n = n-(n//i)*i
else:
print('0 moeda(s) de R$ {:.2f}'.format(i/100))
# print(n)
写法二:
t1 = [ 100,50,20,10,5,2]
t2 = [1,0.50,0.25,0.10,0.05,0.01]
n = float(input())*100
print('NOTAS:')
for i in t1:
i = i*100
if n>=i:
print('{:.0f} nota(s) de R$ {:.2f}'.format(n//i,i/100))
n = n-(n//i)*i
else:
print('0 nota(s) de R$ {:.2f}'.format(i/100))
if n != 0:
print('MOEDAS:')
for i in t2:
i = i * 100
if n>=i:
print('{:.0f} moeda(s) de R$ {:.2f}'.format(n//i,i/100))
n = n-(n//i)*i
else:
print('0 moeda(s) de R$ {:.2f}'.format(i/100))
# print(n)
四、倍数
在python中实现swap函数
两种方法:
1、
def swap(a, b):
return b, a
2、
a,b=b,a
代码如下:
a,b=map(int,input().split())
if a<b:
a,b=b,a
if a%b :
print("Nao sao Multiplos")
else:
print("Sao Multiplos")
五、一元二次方程公式
import math ---->math.sqrt
import math
a,b,c=map(float,input().split())
if b**2-4*a*c<0 or a==0:
print("Impossivel calcular")
else:
r1=(-b+math.sqrt(b**2-4*a*c))/(2*a)
r2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
print("R1 = {:.5f}".format(r1))
print("R2 = {:.5f}".format(r2))
六、简单排序
排序 sorted、读入数组
a=list(map(int,input().split()))
b=sorted(a)
for i in b: print(i)
print()
for i in a: print(i)
七、税
写法一:
exit()退出程序
a=float(input())
ans=0
if a<2000:
print("Isento")
exit()
elif a<3000:
ans=(a-2000.00)*0.08
elif a<4500:
ans=80+(a-3000.00)*0.18
else:
ans=350+(a-4500)*0.28
print("R$ {:.2f}".format(ans))
写法二:
for data in datas[::-1]:
这行代码是一个for循环语句,用来对datas列表进行遍历,其中[::-1]是一个切片语法,表示对列表进行逆序操作。
具体来说,datas[::-1]会生成一个新的列表,该列表的元素与原列表datas相同,只是顺序相反。例如,对于列表[1, 2, 3, 4, 5],[::1]生成的列表为[5, 4, 3, 2, 1]。
因此,for data in datas[::-1]:会从datas列表的最后一个元素开始遍历,一直到第一个元素。在每次循环中,变量data会依次取到datas列表中的一个元素,可根据实际情况进行处理。
round(res,2)
round(res,2) 是 Python 中用于保留浮点数小数点后指定位数的函数,其中 res 是要保留小数位的浮点数,而 2 是要保留的小数位数。例如,round(3.14159, 2) 的结果为 3.14。
datas = [[0,2000,0],[2000.01,3000,0.08],[3000.01,4500,0.18],[4500.01,4500.01,0.28]]
pay = float(input())
res = 0
for data in datas[::-1]:
if pay >= data[0]:
t = pay-data[0]+0.01
# print("t",t)
res += data[-1] * t
pay -= t
if res == 0:
print("Isento")
else:
print("R$ {:.2f}".format(round(res,2)))
八、游戏时间2
还能这样子记录输入!!!
n = input().split()
h1 = int(n[0])
m1 = int(n[1])
h2 = int(n[2])
m2 = int(n[3])
if m2 < m1 :
m2 += 60
h2 -= 1
if h2 < h1:
h1 -=24
if h1 == h2 and m1 == m2:
h2 += 24
print("O JOGO DUROU", h2-h1, "HORA(S) E", m2-m1, "MINUTO(S)")