Python 序列结构小练习

Python 序列结构小练习

1.写代码,要求实现下面每一个功能
li=[‘alex’,‘eric’,‘rain’]
1)计算列表长度并输出
2)列表中追加元素“servn",并输出添加后的列表
3)请在列表的第一个位置插入元素‘tony’,并输出添加后的列表
4)请修改列表的第二个位置元素‘kelly’,并输出修改后的列表
5)请在列表删除元素‘eric’,并输出删除后的列表
6)请删除列表中的第2个元素,并输出删除后的元素的值和删除元素后的列表
7)请使用for循环输出列表中的所有元素

li=['alex','eric','rain']
# 计算列表长度并输出
print(len(li))
# 列表中追加元素“servn"
li.append('servn')
print(li)
# 在列表的第一个位置插入元素‘tony’
li.insert(0,'tony')
print(li)
# 修改列表的第二个位置元素‘kelly’
li[1]='kelly'
print(li)
# 在列表删除元素‘eric’
li.remove('eric')
print(li)
# 删除列表中的第2个元素,并输出删除后的元素的值和删除元素后的列表
x = li.pop(1)
print(x,li)
# 使用for循环输出列表中的所有元素
for l in li:
    print(l,end=' ')

输出结果为:

3
['alex', 'eric', 'rain', 'servn']
['tony', 'alex', 'eric', 'rain', 'servn']
['tony', 'kelly', 'eric', 'rain', 'servn']
['tony', 'kelly', 'rain', 'servn']
kelly ['tony', 'rain', 'servn']
tony rain servn

2.创建一个列表,打印1-100000,用for循环打印出来,并查看最大值和最小值,并且求和

li=range(1,100)
for l in li:
    print(l,end=' ')
print("最大值为:%d"%(max(li)))
print("最小值为:%d"%(min(li)))
print("总和为:%d"%(sum(li)))

输出结果为:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
最大值为:99
最小值为:1
总和为:4950

3.创建一个列表,其中包含3~30内能被3整除的数字;再使用一个for 循环将这个列表中的数字都打印出来

li = range(3,30,3)
for l in li:
    print(l,end=' ')

输出结果:

3 6 9 12 15 18 21 24 27

4.使用列推导式打印出1到10的每个数的立方

li = [l**3 for l in range(1,11)]
print(li)

输出结果为:

[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

5.写代码,有如下元组,请按照功能要求实现每一个功能
tu = (‘alex’,'eric,‘rain’)
1),计算元组的长度并输出
2),获取元祖的第二个元素,并输出
3),获取元祖的第1-2个元素,并输出
4),请用for输出元祖的元素
5),请使用enumerate输出元组元素和序号,(从10开始)

tu = ('alex','eric','rain')
# 计算元组的长度并输出
print(len(tu))
# 获取元祖的第二个元素,并输出
print(tu[1])
# 获取元祖的第1-2个元素,并输出
print(tu[:2])
# 请用for输出元祖的元素
for t in tu:
    print(t,end=' ')
print()
# 请使用enumerate输出元组元素和序号,(从10开始)
print(tuple(enumerate(tu,10)))

输出结果为:

3
eric
('alex', 'eric')
alex eric rain
((10, 'alex'), (11, 'eric'), (12, 'rain'))

6.随机生成密码。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

import string
import random
s=string.digits+string.ascii_uppercase+string.ascii_lowercase
for i in range(0,10):
    print(random.sample(s,8))

输出结果为:

['Z', 'k', 'x', 'H', '2', 't', '5', '9']
['H', 'Q', 'b', 'k', '6', 'v', 'o', '8']
['m', 'n', 'v', 'Q', '4', 'g', '1', '0']
['i', 'o', 'u', '8', 'k', 'z', 'g', '3']
['S', 's', 'J', 'D', 'L', 'h', 'c', '9']
['e', 'b', 'U', 'r', 'j', 'D', 'H', 'c']
['z', 'N', 'G', 'D', '6', 'M', 'l', '5']
['E', 'Y', 'W', 't', 'e', 'k', 'g', 'Q']
['2', '1', 'u', 'Q', 'S', 'k', 'J', 'a']
['T', 'g', 'R', 'd', 'E', 'W', 'P', '0']

7.统计《水调歌头•明月几时有》字符出现次数。
明月几时有,把酒问青天。
不知天上宫阙,今夕是何年?
我欲乘风归去,又恐琼楼玉宇,
高处不胜寒。
起舞弄清影,何似在人间!
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。

import string
st="明月几时有,把酒问青天。\
不知天上宫阙,今夕是何年?\
我欲乘风归去,又恐琼楼玉宇,\
高处不胜寒。\
起舞弄清影,何似在人间!\
转朱阁,低绮户,照无眠。\
不应有恨,何事长向别时圆?\
人有悲欢离合,月有阴晴圆缺,此事古难全。\
但愿人长久,千里共婵娟。\
"
d=dict()
for ch in st:
    d[ch]=d.get(ch,0)+1
for k,v in sorted(d.items() ,key = lambda x:x[1],reverse = True):
        print(k,':',v)

输出结果为:

, : 11
。 : 5
有 : 4
不 : 3
何 : 3
人 : 3
月 : 2
时 : 2
天 : 2
? : 2
事 : 2
长 : 2
圆 : 2
明 : 1
几 : 1
把 : 1
酒 : 1
问 : 1
青 : 1
知 : 1
上 : 1
宫 : 1
阙 : 1
今 : 1
夕 : 1
是 : 1
年 : 1
我 : 1
欲 : 1
乘 : 1
风 : 1
归 : 1
去 : 1
又 : 1
恐 : 1
琼 : 1
楼 : 1
玉 : 1
宇 : 1
高 : 1
处 : 1
胜 : 1
寒 : 1
起 : 1
舞 : 1
弄 : 1
清 : 1
影 : 1
似 : 1
在 : 1
间 : 1
! : 1
转 : 1
朱 : 1
阁 : 1
低 : 1
绮 : 1
户 : 1
照 : 1
无 : 1
眠 : 1
应 : 1
恨 : 1
向 : 1
别 : 1
悲 : 1
欢 : 1
离 : 1
合 : 1
阴 : 1
晴 : 1
缺 : 1
此 : 1
古 : 1
难 : 1
全 : 1
但 : 1
愿 : 1
久 : 1
千 : 1
里 : 1
共 : 1
婵 : 1
娟 : 1

猜你喜欢

转载自blog.csdn.net/qq_41657977/article/details/107497592