第二章课后编程题
1.输入一个包含若干个自然数的列表,输出这些列表自然数的平均值,结果保留3位小数
s = eval(input("求平均,请输入自然数列表:")) # 输入自然数的列表
sum = 0
for i in s:
sum += i
avg = sum / len(s)
print('输入列表的平均值(保留3位小数)为:'+'%.3f'% avg)
2.输入一个包含若干个自然数的列表,输出这些自然数降序排列后的新列表
s = eval(input("降序,请输入自然数列表:")) # 输入自然数的列表
for i in range(0,len(s)):
for j in range(i,len(s)):
if s[i] < s[j]:
temp=s[i]
s[i]=s[j]
s[j]=temp
3.输入一个包含若干自然数的列表,输出一个新列表,新列表中每个元素为原列表中每个自然数的位数。例如,输入[1,888,99,23456],输出[1,3,2,5]
s = eval(input("降序,请输入自然数列表:")) # 输入自然数的列表
k=[]
for i in s:
k.append(len(str(i)))
print(k)
4.输入一个包含若干数字的列表,输出其中绝对值最大的数字,例如,输入[-8,64,3.5,-89],输出-89
s = eval(input("输入一个列表,返回该列表中绝对值最大的元素:"))
k=0;
for i in s:
if abs(k)<=abs(i):
k = i;
print(f"该列表绝对值最大的元素为:{k}")
5.输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24.
s = eval(input("输入一个只包含整数的列表,获取该列表元素的乘积:"))
p=1
for i in s:
p=p*i
print(p)
6.输入两个包含若干个整数的等长列表,把这两个列表看做两个向量,输出这两个向量的内积.
print("输入两个等长包含若干整数的列表,输出两内积")
s1 = eval(input("请输入整数列表1:"))
s2 = eval(input("请输入整数列表2:"))
m=[]
for i in range(0,len(s1)):
m.append(s1[i]*s2[i])
print("所得内积为:")
print(m)