蓝桥杯Python学习day3 10.17

阔别好久的Python学习 ,还是自身的懈怠,不行,姐的目标是一天学一点。

开始进入正题:

看书还是有用。

列表推导式的理解还是有些困难:

Python 推导式 | 菜鸟教程 (runoob.com)

Python map() 函数 | 菜鸟教程 (runoob.com)

描述

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map() 函数语法:

map(function, iterable, ...)

参数

  • function -- 函数
  • iterable -- 一个或多个序列

返回值

Python 2.x 返回列表。

Python 3.x 返回迭代器。

n = int(input())
p = []
for i in range(n):
    d, h = map(int, input().split())
    #map(function, iterable, ...)
    p.append((d, h))

p.sort(key=lambda x: (-x[0], x[1]))
#对第一个元素降序排列————从大到小,对第二个元素升序排列————从小到大

ans = 0
max_h = 0
for i in range(n):
    if p[i][1] >= max_h:
        ans += 1
        max_h = p[i][1]

print(ans)

我的题解: 

import os
import sys

# 请在此输入您的代码
n = int(input())
list = []
for i in range(n):
  d,h = map(int,input().split())
  list.append([d,h])
list.sort(key = lambda x:(-x[0],x[1]))

sc = 0
max_h = 0
for i in range(n):
  if list[i][1] >= max_h:
    sc += 1
    max_h = list[i][1]

print(sc)

Python中计算次方,不可以用^

num1=int(input()) 
if num1>=1 and num1<=30:
    num2=num1**2+num1**3+num1 
    print(num2)

主要问题:一些运算符的使用还不太熟练,还有运算速率的问题,但问题不大

# 计算2的二次方
result = 2 ** 2
print(result)  # 输出:4

问题存在: 不会,太难了,逻辑理不清

 对sum的不完全的认知

描述

sum() 方法对序列进行求和计算。

语法

以下是 sum() 方法的语法:

sum(iterable[, start])

参数

  • iterable -- 可迭代对象,如:列表、元组、集合。
  • start -- 指定相加的参数,如果没有设置这个值,默认为0。

返回值

返回计算结果。

Python sum() 函数 | 菜鸟教程 (runoob.com)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值