找同学

#创建一个字典students,key是学号,value是姓名
#学生信息在stdents.csv文件里,从文件中读取并保存到字典
#打开student.csv文件
file = open('C:/Users/Administrator/Desktop/students.csv','r')  #也可以在地址前加一个字母 r
#读取文件中的内容
lines = file.readlines()
# 抽取每行的学号和姓名,保存到字典
students = {}
for line in lines:
    tmp_list = line.split(',')
    xuehao = tmp_list[0]
    xingming = tmp_list[1]
    students[xuehao] = xingming
    
#从学号中随机抽取学号
import random
 
num = int(input("输入随机抽取的人数:"))
#如何把字典中的key(学号)取成列表

xuehao_list = random.sample(students.keys(),num)
xuehao_list
#根据随机抽取的学号,打印输入对应的学号
for xuehao in xuehao_list:
    print(students[xuehao])
输入随机抽取的人数:3
李四

王五

张三
%%writefile chazhao.py
#创建一个字典students,key是学号,value是姓名
#学生信息在stdents.csv文件里,从文件中读取并保存到字典
#打开student.csv文件
file = open('C:/Users/Administrator/Desktop/students.csv','r')  #也可以在地址前加一个字母 r
#读取文件中的内容
lines = file.readlines()
# 抽取每行的学号和姓名,保存到字典
students = {}
for line in lines:
    tmp_list = line.split(',')
    xuehao = tmp_list[0]
    xingming = tmp_list[1]
    students[xuehao] = xingming
    
#从学号中随机抽取学号
import random
 
num = int(input("输入随机抽取的人数:"))
#如何把字典中的key(学号)取成列表

xuehao_list = random.sample(students.keys(),num)
xuehao_list
#根据随机抽取的学号,打印输入对应的学号
for xuehao in xuehao_list:
    print(students[xuehao])
Writing chazhao.py
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 根据题目要求,可以使用以下步骤完成去重和排序: 1. 生成n个1到1000之间的随机整数,将这些数存储在一个列表中。 2. 使用Python中的set函数对列表中的元素进行去重。 3. 将去重后的元素存储在一个新的列表中。 4. 使用Python中的sort函数对新列表中的元素进行从小到大排序。 5. 按照排序后的顺序依次同学做调查。 以下是Python代码实现: ``` import random n = 100 random_nums = [random.randint(1, 1000) for _ in range(n)] unique_nums = list(set(random_nums)) unique_nums.sort() for num in unique_nums: # 按照num的顺序同学做调查 pass ``` ### 回答2: 明明需要进行的任务包括:去重和排序。去重是指删除重复的数字,只保留一个,而排序是指将数字从小到大排列。 首先,对于去重的任务,可以使用一个集合来存储数字,集合会自动去除重复元素。可以用一个for循环将这n个随机整数插入集合中,然后将集合中的元素存储到一个数组中,这个数组就是去重后的数组。 最后,对于排序的任务可以使用一个排序算法,如快速排序或归并排序。由于数据量不大,快速排序是比较好的选择。可以使用递归的方式实现快速排序,即将数组分成两部分,然后对每一部分递归进行快速排序。 整个过程的代码如下: ``` #include <iostream> #include <set> #include <vector> using namespace std; // 去重 void remove_duplicate(int arr[], int size) { set<int> s; for(int i = 0; i < size; i++) { s.insert(arr[i]); } vector<int> v; for(auto it = s.begin(); it != s.end(); it++) { v.push_back(*it); } for(int i = 0; i < v.size(); i++) { arr[i] = v[i]; } } // 快速排序 void quick_sort(int arr[], int left, int right) { if(left >= right) { return; } int i = left, j = right; int pivot = arr[left]; while(i < j) { while(i < j && arr[j] >= pivot) { j--; } arr[i] = arr[j]; while(i < j && arr[i] <= pivot) { i++; } arr[j] = arr[i]; } arr[i] = pivot; quick_sort(arr, left, i-1); quick_sort(arr, i+1, right); } int main() { int n; cin >> n; int arr[n]; for(int i = 0; i < n; i++) { cin >> arr[i]; } remove_duplicate(arr, n); quick_sort(arr, 0, n-1); for(int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; return 0; } ``` ### 回答3: 首先,我们需要用python语言实现去重和排序的功能。可以使用set函数对随机生成的整数进行去重操作,使用sort函数对去重后的列表进行排序。 代码如下: import random n = 50 # 生成50个随机整数 random_list = [random.randint(1, 1000) for _ in range(n)] # 生成n个1到1000之间的随机整数 # 去重 random_set = set(random_list) # 将列表转换成集合,去重后再转换回列表 unique_list = list(random_set) # 排序 unique_list.sort() # 从小到大排序 print(unique_list) 接下来,我们需要将这些去重且排序后的数字与对应学生学号进行匹配,并输出匹配结果。 代码如下: students = ['Alice', 'Bob', 'Charlie', 'David', 'Emily'] # 匹配 num_students = len(students) matched_pairs = [] for i, num in enumerate(unique_list): student_index = i % num_students # 按照顺序匹配学生 matched_pairs.append([num, students[student_index]]) # 输出 print("随机生成的整数为:", random_list) print("去重后的整数为:", unique_list) print("匹配结果为:", matched_pairs) 最后,我们就能够得到随机生成的整数去重且排序的结果,并匹配对应学生学号,方便明明进行问卷调查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值