阔别好久的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)