学python的第三天---基础(1)

本来直接打算直接开始一些基础的算法的,但是后来发现就是还是比较难,自己还是从基础功开始吧。

一、圆的面积

在这里插入图片描述

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)")   

猜你喜欢

转载自blog.csdn.net/qq_51408826/article/details/129268660