Python实验报告一 python基础试题练习
编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)2.编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB3.编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的集合。4.首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。(使用字典)
实验内容:
- 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)
2.编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB
3.编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的集合。
4.首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。(使用字典)
5.阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?
6.编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
7.设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!”(判断字典成员,提示用if (条件):语句)。
8..假设有三个列表:lst_who=[“小马”,“小羊”,“小鹿”],lst_where=[“草地上”,“电影院”,“家里”],lst_what=[“看电影”,“听故事”,“吃晚饭”]。试编写程序,随机生成三个0-2范围内的整数,将其作为索引分别访问三个列表中的对应元素,然后进行造句。例如,随机生成三个整数分别为1,0,2,则输出句子“小羊在草地上吃晚饭”。
9.编写程序,生成一年包含20个两位随机整数的列表,将其前十个元素升序排列,后十个元素降序排列。
10.生成包含 20 个随机整数的元组,将前十个数按升序排列,后十个数按降序排 列
11、现在给出两个列表:
· 列表A:(1,7,9,11,13,15,17,19)
· 列表b:(2,4,6,8,10)
两个列表合并为列表c,按升序排列。
12.编写程序,删除一个list里面的重复元素。
Python实验一报告
(1)
- 实验内容
- 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)
- 实验过程
- 先导入一个关于random的import。
- 再在一个列表中用for.....in.....和random.randint()函数随机生成20个整数
- 再用切片对偶数下标进行降序排列(sorted()函数)
- 输出列表.
- 实验结果
- 实验小结
要掌握random这个函数和sorted这个函数。运用切片进行筛选。
代码:
import random
a = [random.randint(0,100) for i in range(20)]
#可迭代类型排序 reverse:是否逆序列排列
a[::2]=sorted(a[::2],reverse=True)
print(a)
(2)
- 实验内容
- 编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB
- 实验过程
- 创建两个集合setA和setB。
- 运用intersection()函数求交集
- 运用union()函数求并集
- 运用setA-setB求差集
- 实验结果
- 实验小结
需要掌握交集,并集,差的几个求值函数。
代码:
setA = {1, 3, 4, 6, 7, 8}
setB = {3, 6, 9, 5, 8, 10}
#交集
print(setA.intersection(setB))
#并集
print(setA.union(setB))
#差集
print(setA-setB)
(3)
- 实验内容
- 编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的集合。
- 实验过程
- 用input输入一个整数。
- 创立一个数列。
- 运用嵌套循环加算法求满足要求的素数。
- 输出数列。
- 实验结果
- 实验小结
掌握嵌套循环,要知道满足要求的算法。
代码:
a =int( input('请输入一个大于2的自然数:'))
b = []
for i in range(2,a):
count=0
for j in range(1,i+1):
if(i%j==0):
count+=1
if(count==2):
b.append(i)
print(b)
(4)
- 实验内容
- 首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。(使用字典)
- 实验过程
- 先导入一个关于random的import。
- 创立1000个随机字符串
- 创建字典
- 运用循环和count函数算次数
- 运用items函数遍历
- 实验过程
- 实验小结
知道如何创立1000个随机字符串,并熟练运用count和items函数。
代码:
import random
x = ''.join(random.choices('abcdefghijklmnopqrstuvwxyz', k=1000))
print('字符串的长度', len(x))
# 集合,排除多余的字母
y = set(x)
m_dict = {}
for i in y :
nums = x.count(i)
m_dict[i] = nums
for i in m_dict.items():
print(i, end='')
(5)
- 实验内容
阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?
- 实验过程
- 实验结果
- 实验小结
学会运用sum函数进行相加。
代码:
print(sum([2**i for i in range(64)]))
(6)
- 实验内容
- 编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
- 实验过程
- 用input函数让用户输入一个列表
- 创立两个下标
- 用if....else判断
- 实验结果
- 实验小结
要会eval函数:用来执行一个表达式,并返回这个表达式的结果。要考虑下标问题。
代码:
# eval函数用来执行一个表达式,并返回表达式的值
a = eval(input('请输入一个列表:'))
start, end = eval(input('请输入两个整数:'))
if start >end :
print("输入错误")
else :
print(a[start:end+1])
(7)
- 实验内容
设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!”(判断字典成员,提示用if (条件):语句)。
- 实验过程
- 自己创建一个字典
- 输出字典
- 用input输出一个key值
- 用get函数找出value值。
- 实验结果
- 实验小结
主要要会运用字典中get函数。
代码:
dict1 = {'name': 'zhangzhuo', 'age': 20, 'sex': 'man'}
print('字典为', dict1)
key1 = input('请输入一个键:')
'''if key1 in dict1:
print('字典中', key1, '键对应的键值为', dict1[key1])
else:
print('您输入的键不存在!')'''
print('字典中',key1,'键对应的键值',dict1.get(key1,'您输入的键不存在!'))
(8)
- 实验内容
- 假设有三个列表:lst_who=[“小马”,“小羊”,“小鹿”],lst_where=[“草地上”,“电影院”,“家里”],lst_what=[“看电影”,“听故事”,“吃晚饭”]。试编写程序,随机生成三个0-2范围内的整数,将其作为索引分别访问三个列表中的对应元素,然后进行造句。例如,随机生成三个整数分别为1,0,2,则输出句子“小羊在草地上吃晚饭”。
- 实验过程
- 先导入一个关于random的import。
- 创立三个列表
- 将三个进行相加。
- 实验结果
- 实验小结
主要掌握random函数。
代码:
import random
lst_who = ['小马', '小羊', '小鹿']
lst_where = ['草地上', '电影院', '家里']
lst_what = ['看电影', '听故事', '吃完饭']
print(random.choice(lst_who)+'在'+ random.choice(lst_where)+ random.choice(lst_what))
(9)
- 实验内容
- 编写程序,生成一年包含20个两位随机整数的列表,将其前十个元素升序排列,后十个元素降序排列。
- 实验过程
- 创建列表,随机生成20个数
- 运用sorted函数
- 进行升序
- 进行降序
- 实验结果
- 实验小结
掌握sorted函数
代码:
import random
a = [random.randint(10,99) for i in range(20)]
print(a)
#前十个升序 sorted可对所有迭代类型进行排序
a[:10:1] = sorted(a[:10:1],reverse=False)
#后十个降序
a[10:20:1] = sorted(a[10:20:1],reverse=True)
print(a)
(10)
- 实验内容
- 生成包含 20 个随机整数的元组,将前十个数按升序排列,后十个数按降序排 列
- 实验过程
同上,将列表变为元组
- 实验结果
- 实验小结
掌握sorted函数
代码:
import random
a = [random.randint(0, 1000) for i in range(20)]
#a = tuple(a)
print(a)
#前十个升序 sorted可对所有迭代类型进行排序
a[:10:1] = sorted(a[:10:1],reverse=False)
#后十个降序
a[10:20:1] = sorted(a[10:20:1],reverse=True)
print(tuple(a))
(11)
- 实验内容
现在给出两个列表:
· 列表A:(1,7,9,11,13,15,17,19)
· 列表b:(2,4,6,8,10)
两个列表合并为列表c,按升序排列。
- 实验过程
创建两个列表
使用extend函数
切片
输出
- 实验结果
- 实验小结
需要掌握extend函数的用法
代码:
A = [1, 7, 9, 11, 13, 15, 17, 19]
B = [2, 4, 6, 8, 10]
A.extend(B)
#对可迭代对象进行升序或者降序
A[::]=sorted(A[::], reverse=False)
print(A[::])
(12)
- 实验内容
- 编写程序,删除一个list里面的重复元素。
- 实验过程
- 创建一个列表、
- 强转为set(),去除重复元素
- 再转为列表
- 输出列表
- 实验结果
- 实验小结
需要知道元组的性质
代码:
# 删除列表里面的重复元素
list1 = [1, 2, 2, 3, 3, 4, 5, 6, 7, 7]
list2= set(list1)
print(list2)
list3 = list(list2)
print(list3)
更多推荐
所有评论(0)