Python实验六 列表与元组的应用

  • Post author:
  • Post category:python


1.写出程序的运行结果

a = [50,75,53,92,77,64,79,21]
s = [0] * 10
for i in range(len(a)):
    k = a[i] // 10
    s[k] = s[k] + 1
m = s[0]
k = 1
while k < 10:
    if s[k] > m:
        m = s[k]
    k += 1
print('m = ',m)

2.下面的程序是希望从键盘输入 10 个数 ,并用它们建立元组 p,但程序运行 时出现错误

p=[]
for i in range(10):
 x=int(input("请输入第{0}个数字".format(i+1)))
 p.append(x)
print(p) 

3.、筛选法求[2,n]范围内全部素数的基本思路是:在 2~n 中消去 2 的倍数(不包 括 2),再消去 3 的倍数(不包括 3),由于 4 已被消去,再找 5 的倍数,···,直 到消去不超过 n 的倍数,剩下的数都是素数。下面是用筛选法求[2,n]范围内的 全部素数的程序,请补充程序

from math import *
n = int(input("请输入n:"))
m = int(sqrt(n))
p = [i for i in range(n + 1)]
for i in range(2, m + 1):
    if p[i]: 
        for j in range(2*i, n+1,i):  #去掉i的倍数
            p[j] = 0
for i in range(2, n+1):  #输出全部素数
    if p[i]:
        print(p[i]) 

4.将列表的元素按逆序重新存放

s=input()
l=list(s)
l.reverse()
print(l)

5.将列表 s 中的偶数变成它的平方,奇数保持不变

def even_square(s):
    l=[]
    for i in s:
        if(i%2==0):
            l.append(i*i)
        else:
            l.append(i)
    return l

s=[1,2,3,4,5,6,7,8,9,10]
print("原列表:{0}".format(s))
print("新列表:{0}".format(even_square(s)))

6.生成包含 100 个 2 位随机整数的元组,统计每一个数出现的次数

import random
y=[random.randint(10,99)for i in range(100)]
for i in y:
    print(i,':',y.count(i))

7.生成包含 20 个随机整数的元组,将前十个数按升序排列,后十个数按降序排 列

import random
x=[random.randint(1,100) for i in range(20)]
print("生成的随机数为:{0}".format(x))
y=x[0:10]
y.sort()
x[0:10]=y
y=x[10:20]
y.sort(reverse=True)
x[10:20]=y
print("排序后的元组为:{0}".format(tuple(x)))



版权声明:本文为qq_44495081原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。