实验内容:

  1. 编写程序,生成一个包含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)

  • 实验内容
  1. 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)

  • 实验过程
  1. 先导入一个关于random的import。
  2. 再在一个列表中用for.....in.....和random.randint()函数随机生成20个整数
  3. 再用切片对偶数下标进行降序排列(sorted()函数)
  4. 输出列表.
  5.  

  • 实验结果

  • 实验小结

要掌握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)

  • 实验内容
  1. 编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB
  • 实验过程
  1. 创建两个集合setA和setB。
  2. 运用intersection()函数求交集
  3. 运用union()函数求并集
  4. 运用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)

  • 实验内容
  1. 编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的集合。
  • 实验过程
  1. 用input输入一个整数。
  2. 创立一个数列。
  3. 运用嵌套循环加算法求满足要求的素数。
  4. 输出数列。

  • 实验结果

  • 实验小结

掌握嵌套循环,要知道满足要求的算法。

代码:

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)

  • 实验内容
  1. 首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。(使用字典)
  • 实验过程
  1. 先导入一个关于random的import。
  2. 创立1000个随机字符串
  3. 创建字典
  4. 运用循环和count函数算次数
  5. 运用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)

  • 实验内容
  1. 编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
  • 实验过程
  1. 用input函数让用户输入一个列表
  2. 创立两个下标
  3. 用if....else判断

  • 实验结果

  • 实验小结

要会eval函数:用来执行一个表达式,并返回这个表达式的结果。要考虑下标问题。

代码:

# eval函数用来执行一个表达式,并返回表达式的值

a = eval(input('请输入一个列表:'))
start, end = eval(input('请输入两个整数:'))
if start >end :
    print("输入错误")
else :
    print(a[start:end+1])

(7)

  • 实验内容

设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!”(判断字典成员,提示用if (条件):语句)。

  • 实验过程
  1. 自己创建一个字典
  2. 输出字典
  3. 用input输出一个key值
  4. 用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)

  • 实验内容
  1. 假设有三个列表:lst_who=[“小马”,“小羊”,“小鹿”],lst_where=[“草地上”,“电影院”,“家里”],lst_what=[“看电影”,“听故事”,“吃晚饭”]。试编写程序,随机生成三个0-2范围内的整数,将其作为索引分别访问三个列表中的对应元素,然后进行造句。例如,随机生成三个整数分别为1,0,2,则输出句子“小羊在草地上吃晚饭”。

  • 实验过程
  1. 先导入一个关于random的import。
  2. 创立三个列表
  3. 将三个进行相加。

  • 实验结果

  • 实验小结

主要掌握random函数。

代码:

import random

lst_who = ['小马', '小羊', '小鹿']
lst_where = ['草地上', '电影院', '家里']
lst_what = ['看电影', '听故事', '吃完饭']

print(random.choice(lst_who)+'在'+ random.choice(lst_where)+ random.choice(lst_what))

(9)

  • 实验内容
  1. 编写程序,生成一年包含20个两位随机整数的列表,将其前十个元素升序排列,后十个元素降序排列。

  • 实验过程
  1. 创建列表,随机生成20个数
  2. 运用sorted函数
  3. 进行升序
  4. 进行降序

  • 实验结果

  • 实验小结

掌握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)

  • 实验内容
  1. 生成包含 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)

  • 实验内容
  1. 编写程序,删除一个list里面的重复元素。

  • 实验过程
  1. 创建一个列表、
  2. 强转为set(),去除重复元素
  3. 再转为列表
  4. 输出列表

  • 实验结果

  • 实验小结

需要知道元组的性质

代码:

# 删除列表里面的重复元素
list1 = [1, 2, 2, 3, 3, 4, 5, 6, 7, 7]
list2= set(list1)
print(list2)
list3 = list(list2)
print(list3)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐