题目1
1 列表基本操作:
a)构造一个列表,包含从1到100的所有自然数,然后将所有奇数置为0,
所有偶数变为该偶数的一半。并且求这个新列表的所有元素的和
b) 构造一个元素全为0的列表,长度为200。 将其中下标为偶数元素全部变为1,
下标为奇数的元素全部变成2
c) 构造从-1到-100的列表,然后删除前15个元素,删除后20个元素。之后的列表倒序产生一个新的列表,然后将偶数下标的元素符号反号,之后按从大到小的顺序从新排列为新的列表
#a
print("第一题a部分")
x=[i for i in range(1,101)] #创建对应要求的列表
for i in x: #遍历列表,
if i%2==1:
x[i-1]=0 #i=1是奇数,而它对应列表下标是0,所以存在1个单位的错位 x[0]=1
else:
x[i-1]=int(i/2) #保持整型
print(x)
#b
print("第一题b部分")
x=[0]*200
x[::2]=[1]*len(x[::2]) #对对应长度的奇偶切片赋值
x[1::2]=[2]*len(x[1::2])
print(x)
#c
print("第一题c部分")
x=[i for i in range(-100,0)]
x.sort(reverse=True)
print("原列表")
print(x)
for i in range(15):
x.pop(0)
for i in range(20):
x.pop(-1) #x.pop(-1)尾数出列表
print("删除前后元素后的列表")
print(x)
for i in range(len(x[::2])):
x[2*i]=16+2*i # 运行程序观察,删除前后元素后的列表,进行数学归纳
print("偶数下标反号值后的列表")
print(x)
print("排序后的列表")
x.sort(reverse=True)
print(x)
题目2
2字符串 dfjkdskfdfjkfkali3ri3kdsk,dsjfkdsjkfa;djsfdsk;dasfj;sdjfjadsk;fjadkjdfksjfak有多少个字母?多少个标点符号?多少个数字? 字母a重复了多少次? 字母d重复le多少次?求各个字母重复的频率
#a
import string
s=input("请输入一个字符串")
dic={"字母个数为":0,"数字个数为":0,"标点符号个数为":0} #建立一个字典,便于统计
for i in s:
if i in string.ascii_letters: #i字符满足条件对应字典值加1
dic['字母个数为']=dic['字母个数为']+1
elif i in string.digits:
dic['数字个数为']=dic['数字个数为']+1
else:
dic['标点符号个数为']=dic['标点符号个数为']+1
print(dic)
#b
x=list(s) #只有列表才能迭代,所以要转换为列表类型
y=set(x) #将字符串转换为集合,去除重复字符,
Xa=0
Xd=0
for i in y: #遍历集合
Xa=x.count("a") # 统计列表中的a,d字符出现的次数,因为只有列表中可以迭代,而且没有去重
Xd=x.count("d")
print("a重复了%d次"%Xa)
print("d重复了%d次"%Xd)
#c
dic1={}
for i in x:
if i in string.ascii_letters:
dic1[i]=dic1.get(i,0)+1 #统计每个单词出现的概率
for i in dic1.keys(): #遍历每一个字典的每一个键
dic1[i]=dic1[i]/len(x) #频率=字母出现的对应的次数/字符串总长度
print("每个字母出现的频率")
print(dic1)
题目3
3 输入一个数字,求各位数字之和,打印出来。例如输入9023,则输出9+0+2+3=14
x=input("请输入一个数")
y=list(x) #转化为列表
s=0
for i in y: #转化为数值类型,进行累加
s+=eval(i)
print("各个位数的和为%d"%s)
python入门(第1节实践课)).
python入门(第3节实践课)).
努力,就应该有回报,Taylor Swift 最新付费歌曲,来拿吧
Taylor Swift - Lover.
提取码:a8r4