明明的随机数
  KRe60ogUm4le 11天前 11 0

0 引言

在python学习中,我们学习了如何同行多次输入split语句,以及如何构建列表和以及for循环语句,利用这些所学,我们就能解决一些生活中常见问题

1 问题

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

示例1

   输入:10

20 40 32 67 40 20 89 300 400 15

输出:8

15 20 32 40 67 89 300 400

示例2

输入:10

     12 20 30 15 16 14 89 78 56 35

输出:10

     12 14 15 16 20 30 35 56 78 89

2 方法

   输入有两行,第1行为1个正整数,表示所生成的随机数的个数N

第2行有N个用空格隔开的正整数,为所产生的随机数。第二行用split进行一行多次输入,在将其转为列表,然后运用set函数排除重复值,在将列表进行sorted进行排序,最后用len统计个数,输出是运用for..i..in遍历列表一个一个抽出输出。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

n = int(input())
c=list(map(int,input().split()))
c2=set(c)
c3=sorted(c2)
print(len(c3))
for j in c3:
print(j,end=' ')

4 结语

针对随机数的问题,提出运用列表加循环的方法,通过本实验,证明该方法是有效的,本文只考虑了运用列表加循环的方法,当然对此问题还可以直接引用函数等方法进行解决。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 11天前 0

暂无评论

推荐阅读
  KRe60ogUm4le   2024年03月22日   35   0   0 linux算法
  KRe60ogUm4le   11天前   17   0   0 递归算法
KRe60ogUm4le