洛谷 官方题库 (python)第二天

本文介绍了如何在Python中使用`del`,`remove()`,`pop()`,`clear()`等方法进行列表元素的增删,以及如何通过`isinstance()`判断数字类型。还提及了在处理用户输入时的常见错误,如未迭代map()结果。
摘要由CSDN通过智能技术生成

P5726

列表删除

  1. 使用 del 关键字:可以使用 del 关键字通过索引或切片删除列表中的元素。

    my_list = [1, 2, 3, 4, 5] del my_list[2] # 删除索引为 2 的元素,即第三个元素 print(my_list) # 输出:[1, 2, 4, 5]

  2. 使用 remove() 方法:可以使用 remove() 方法根据元素的值来删除列表中的元素。如果列表中有多个相同的元素,只会删除第一个匹配的元素。

    my_list = [1, 2, 3, 4, 3] my_list.remove(3) # 删除值为 3 的元素 print(my_list) # 输出:[1, 2, 4, 3]

  3. 使用 pop() 方法:pop() 方法可以删除列表中指定索引的元素,并返回被删除的元素。如果不指定索引,则默认删除最后一个元素。

    my_list = [1, 2, 3, 4, 5] my_list.pop(2) # 删除索引为 2 的元素 print(my_list) # 输出:[1, 2, 4, 5]

  4. 使用 clear() 方法:clear() 方法可以清空整个列表,即删除列表中的所有元素。

    my_list = [1, 2, 3, 4, 5] my_list.clear() # 清空列表 print(my_list) # 输出:[]

for i in range(1,n+1):
    c=list(map(float,input().split()))

 报错,改为

for i in range(n):
    c += list(map(float, input().split()))

 发现不需要用循环

n=int(input())
c =list(map(float, input().split()))

要判断一个数字是否为整数,可以使用 isinstance() 函数结合 int 类型进行检查。以下是一个示例代码:

num = 3.14

if isinstance(num, int):
    print("数字是一个整数。")
else:
    print("数字不是一个整数。")

??

在判断if条件时

k == n / (364 * 1092 * x)

好像不行

if 364*x+1092*k==n:

但是break只能解决当前循环,要输出后直接结束,import sys.exit

import sys
n = int(input())
for x in range(100, 0, -1):
    for k in range(1,200):
        if 364*x+1092*k==n and k>0 :
            print(x)
            print(int(k))
            sys.exit()
        else:
            continue

P1089

  • / 执行标准的除法并返回浮点数结果。
  • // 执行地板除法并返回商的整数部分。
  • % 返回除法的余数部分。
  • import sys
    mon=300
    yu=0
    huafei=[]
    cunqian=0
    for i in range(1,13):
        huafei+=map(int,input().split())
        
    for j in range(12):
        yu+=mon-huafei[j]
        if yu>100:
            cunqian+=int(yu//100*100)
            yu=yu%100
        if  yu<0:
            print(-(j+1))
            sys.exit()
    cunqian=int(cunqian*1.2+yu)
    print(cunqian)

    有一个小错误:在输入每个月的花费时,您使用了 map 函数,但是未对其进行迭代,导致用户输入的数据并没有被正确地存储到列表 huafei 中。这个问题可以通过直接使用列表的 append 方法来解决。以下是修正后的代码:

  • import sys
    
    mon = 300
    yu = 0
    huafei = []
    cunqian = 0
    
    # 输入每个月的花费
    for i in range(12):
        huafei += [int(input())]
    
    # 计算每个月的余额,并进行存款和取款操作
    for j in range(12):
        yu += mon - huafei[j]
        if yu > 100:
            cunqian += int(yu // 100 * 100)
            yu = yu % 100
        if yu < 0:
            print(-(j + 1))
            sys.exit()
    
    # 计算到年末津津手中的钱
    cunqian = int(cunqian * 1.2 + yu)
    print(cunqian)
    

    P1047

  • 如何创建一个数组

  • for i in range(l):
        list+=map(int,i)

    上面的错误

  • the_tree = [0 for i in range(l + 1)]

    字符串

  • P8598

请注意,b.count(i) 中的 i 是您要统计出现次数的元素,而不是索引

P8753

cnm=0
a=[]
for i in range(5):
    a+=list(map(int,input()))
for i in range(0,len(a),4):
    if a[i]==a[i+2] and a[i+3]-a[i+1]==1:
        cnm+=1
cnm=str(cnm)
print(cnm)
##我的代码好像没问题,但是显示re
s = []
def spe(n):
    n = list(str(n))
    if n[0] ==n[2] and int(n[1]) + 1==int(n[3]):
        return True
    
for i in range(5):
    n = int(input())
    s.append(n)
count = 0
for i in s:
    if spe(i)==True:
        count+=1
print(count)
##大佬的代码没问题

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值