1、理解组合数据类型的概念 2、掌握列表、字典与集合的定义和使用方法 3、熟练 random 模块的应用
实验内容
练习一
题目
编写程序,在 26 个字母大小写和 10 个数字组成的列表中随机生成 10个 8 位密码。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#设置的密码没有重复的元素 import random List =[] #存入字母和数字 for i inrange(26): List.append(chr(ord('A')+i)) List.append(chr(ord('a')+i)) for i inrange(10): List.append(str(i)) #随机生成 10 个 8 位数的密码 for i inrange(10): password_List = random.sample(List,8) #生成结果仍为列表 password = "".join(password_List) #将列表转化成字符串 print(password)
List = [] num = eval(input("请输入一个整数:")) while num != 0: List.append(num) num = eval(input("请输入一个整数:")) List.sort(reverse = True) for i inrange(len(List)): print(List[i])
练习三
题目
输入一个大于 2 的自然数, 输出小于该数字的所有素数组成的集合。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import math
defisprime(n): for i inrange(2,n): if n % i ==0: returnFalse else: returnTrue
num_input = eval(input("请输入一个大于 2 的自然数:")) num = math.ceil(num_input) prime_set = set() for i inrange(2,num): if isprime(i): prime_set.add(i) print("小于{}的所有素数集合是:{}".format(num_input,prime_set))
练习四
题目
使用字典来创建程序,提示用户输入电话号码,并用英文单词形式显示数字。例如:输入 138 则显示“one three eight”。
代码
1 2 3 4 5 6 7 8 9 10 11 12
num = [i for i inrange(10)] word = ["zero","one","two","three","four","five","six","seven","eight","nine"] phone_list = dict(zip(num,word)) phone_num = input("请输入电话号码:") result="" #print(phone_num) for i in phone_num: phone_i = eval(i) for key in phone_list: if phone_i == key: result += phone_list[key] + " " print(result)