火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

高一技术 | 信息技术 | 第五次课

作者: 作者的头像   huolong , 时间:2025-07-11 08:32:09 , 所有人可见, 阅读  43

学某个知识点的时候:
我们关系某个结构比如,字符串,列表等
1、增加 insert(索引,val)  append(val)  extend([])
2、删除 remove(值)  pop()   del[索引]
3、修改 a[索引] = val
4、查询 count(值) index(值)  in 

列表常见函数

aa = []

aa.append("a")#在列表末尾添加元素。
print(aa)

temps = ['to','be','or','not','to','be']
print(temps.count('to')) #统计某个元素在列表中出现的次数。

#extend:将一个列表中元素追加到另外一个列表中。
a = [1,2,3]
b = [4,5,6]
c = a.extend(b)

#index:找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常ValueError:
knights = ['hello','world']
print(knights.index('hello'))

#insert:将某个值插入到列表中的某个位置:
chars = ['hello','world']
chars.insert(1,'nihao') #这个语句执行完后,insert把nihao插入到索引为1的位置
print(chars)

#pop方法:移除列表中最后一个元素,并且返回该元素的值:
x = [1,2,3]
temp = x.pop() # 返回3
print(x)

#remove方法:移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常ValueError。
x = [1,2,3]
x.remove(1)

#reverse:将列表中的元素反向存储。会更改原来列表中的值。
x = [1,2,3]
x.reverse()
print(x) #这时候x已经变成3,2,1了

#sort:将列表中的元素进行排序。会更改原来列表中的位置。
x = [4,2,1,5,3]
x.sort()
print(x)

#要区分sorted函数,sorted函数不会更改原来列表的位置,并且会返回一个排序后的值。

x = [4,2,1,5,3]
y = sorted(x) #对x排序的结果返回给y,并不会影响x
print(y)


#del关键字:根据下标删除元素:

a = [1,2,3]
del a[0]
print(a) # [2,3]


#使用in判断列表中是否有某个元素:

x = [1,2,3]
if 1 in x:
    print(True)
else:
    print(False)

#list函数:将其他的数据类型转换成列表:

a = 'hello'
print(list(a))

小案例

1、完成这样一个功能: 给定一个字符串21hkh92,4u3让你把里面的数字找出来拼成一个整数:219243

s = "21hkh92,4u3"

x = ''
for i in s:
    if '0' <= i <= '9':
        x +=i 
print(x)

2、完成这样一个功能 计算表达式12+34-45+98=让你把这个表达式计算出来 1、如何去表示正负数 2、如何去识别一个整数,12,34,45,98 3、根据正负号去进行累加

ss = "12+34-45+98="

flag = 1 #正数
ans = 0
x = ''
for i in ss:
    if '0' <= i <= '9':
        x += i 
    else:
        ans += flag * int(x)
        x = ''
        if i == '+':
            flag = 1
        elif i == '-':
            flag = -1;
print(ans)

3、完成这样一个功能 百钱买百鸡、我现在有100元钱,买公鸡3元1只,母鸡5元1只,鸡仔1元3只,我需要买100只, 问你有多少种买法,其中结果只能是整数。 考点:枚举法(穷举法) 枚举公鸡只数i 枚举母鸡只数j 枚举鸡仔只数k 计算机可以在1秒,计算1亿个加减法

for i in range(0,100//3 + 1):
    for j in range(0, 100//5+1):
        for k in range(0,300+1,3):
            if i*3 +j*5+k//3 == 100 and i+j+k ==100:
                print(i,j,k)

4、完成这样一个功能 1、有个停车场,每天接受汽车和三轮车,今天有100个轮子,问你汽车最大有多少辆,最少有多少辆 2、输入的车辆总数为36,且车轮数为114,请你分别计算出三轮车和汽车的可能车数量

t = 36
j = 114
x=0;count=0
s="结果:"
while x <= t:
    y = t - x
    if x*3 + y*4 == j:
        s = s + str(x) + "辆三轮车 " + str(y) + "辆汽车"
        break
    x = x + 1
print(s)

5、N个人围成一圈,从第一个人开始报数,数到 M的人出圈;再由下一个人开始报数,数到 M的人出圈;…输出依次出圈的人的编号。

s = input() #'8 5'
n, m = s.split(' ') #'8' '5'
n, m = int(n), int(m) #8 5
a = [] # [1,2,3,4,5,6,7,8]
for i in range(1,n+1):
    a.append(i)

#做m-1移项操作,移动到末尾
while len(a) != 0:
    for i in range(m-1):
        a.append(a[0])
        a.remove(a[0])
    print(a[0], end=' ')
    a.remove(a[0])


—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码