【蓝桥杯Day1】||语言基础入门

基础语法补充:

##如何处理列表与数据可视化问题

def get_line():
    return map(int,input().split())##映射成新的可迭代对象
d,e,f=get_line()
print(d,e,f)

n,m=map(int,input().split())
print(f'n:{n},m:{m}\n')

x,y=1.555,1.5555
f'{x:.2f}{y:.3f}'##注意当这里是{x:.2f}{x:.2f}时,出现的结果并不相同
##四舍五入尽量不要用round函数,会吞零
l=list(map(int,input().split()))
print(l)

l=[int(x) for x in input().split()]##与上式等效
print(l)

N=[list(map(int,input().split())) for _ in range(3)]##接收3*3矩阵
print(N)

t=(2,3,4,5,6)
a=[i * 10 for i in t if i%2]
print(a)

l=[]
for i in t:
    if i%2:
        l.append(i)
print(l)

##简单面向对象
class Dog:
    def __init__(self,name):
        self.name=name

    def bark(self):
        print(f'{self.name} is barking')

dog=Dog('loser')
dog.bark()

最大距离writeup:

无脑解即可,需要注意的是python中已经备好了max(判大小函数)以及abs(取绝对值)两个function

n=int(input())
a=[int(x) for x in input().split()]
f=lambda i,j:abs(i-j)+abs(a[i]-a[j])

M=0
for i in range(n-1):
  for j in range(i+1,n):
    M=max(M,f(i,j))
    
print(M)   

四平方和writeup:

break跳出一层循环,return跳出所有循环

##python中如何开根号
##pow()幂函数,或者最快的方法:
def sqrt(x):
  return int(x**0.5)
def is_square(n):
  root=sqrt(n)
  return root*root==n##通过这种方式来判断n是否为完全平方数,否则会出现float失精度问题

def upper(k,n):
  return sqrt(n/k)##每次遍历只需要在sqrt范围之内就可以,如果在sqrt范围内的均不符合条件,那在此后也不会符合

def loop(n):
  for a in range(upper(4,n)):
    i=a*a

    for b in range(a,upper(3,n)):
      j=b*b+i

      for c in range(b,upper(2,n)):
        k=c*c+j

        d_square=n-k
        if d_square>=c*c:
          if is_square(d_square):##看一看最后剩余的数能否是完全平方数
            d=sqrt(d_square)

            return (a,b,c,d)

if __name__=='__main__':##必须要加,其作用相当于一个主函数
  n=int(input())
  print(*loop(n))##把元组展开来,变成一个个数字,不用再次枚举输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值