python作业05

集合练习:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“>去重”与排序工作

import random

s = set([])
for i in range(int(input('N:'))):
    s.add(random.randint(1,1001))
print(sorted(s))
print(len(s))

python作业05_第1张图片

字典练习:数字重复统计: 1)随机生成1000个整数;  2)数字范围[20,100];  3)升序输出所有不同的数字及其每个数字重复的次数

import random

all_nums = []
for item in range(1000):
    all_nums.append(random.randint(20,100))

#对生成的1000个数进行排序,然后加到字典中
sorted_nums = sorted(all_nums)
num_dict = {}
#如果不在字典中添加进字典,如果在value+1
for num in sorted_nums:
    if num in num_dict:
        num_dict[num] += 1
    else:
        num_dict[num] = 1
print(num_dict)

python作业05_第2张图片

 重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
    1. 用户输入一句英文句子;
    2. 打印出每个单词及其重复的次数;

a = input("输入句子:")
a1 = a.split(' ')
#print(a1)
d = {}
##遍历所有单词,空字典统计单词个数,如果单词在字典中,value +1,不在value为1
for j in a1:
    if j in d:
        d[j] += 1
    else:
        d[j] = 1
print(d)

python作业05_第3张图片

# 1. 随机生成100个卡号; 卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100>),
# 2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";
# 3. 输出卡号和密码信息, 格式如下:
卡号                     密码
6102009001        000000

account = []
d = {}
import random
for i in range(100):
    id = '6102009%.3d'  %(i+1)
    account.append(id)
#print(account)
d = {}.fromkeys(account,'redhat')
#print(d)
print('卡号\t\t\t密码')
for key in account:
    print('%s\t%s' %(key,d[key]))

python作业05_第4张图片

你可能感兴趣的:(python学习)