python常見面試題講解(三)明明的隨機數

2022-06-06 04:39:09 字數 1540 閱讀 2464

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數(n≤1000),對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成「去重」與「排序」的工作(同乙個測試用例裡可能會有多組資料,希望大家能正確處理)。

注:測試用例保證輸入引數的正確性,答題者無需驗證。測試用例不止一組。

樣例輸入解釋:

樣例有兩組測試

第一組是3個數字,分別是:2,2,1。

第二組是11個數字,分別是:10,20,40,32,67,40,20,89,300,400,15。

輸入多行,先輸入隨機整數的個數,再輸入相應個數的整數

返回多行,處理後的結果

示例1複製

322

1111020

4032

6740

2089

300400

15

複製

1210

1520

3240

6789

300400

解題思路:

本道理的例子有一點歧義,主要是一次性輸出結果還是分開輸出結果時,**是不一樣的,其實應該是兩組數字分開處理的,兩種解法,了解一下:

去重複可以用list轉set的方法去重複,也可以通過條件判斷

方法1:

1

while

true:

2try

:3 a =input()

4 a =int(a)

5 d =

6for i in

range(a):

7 c=input()

8 c=int(c)

910 d=set(d)

11 d=list(d)

12d.sort()

13for i in

d:14

print

(i)15

except:16

break

方法2:

1

while

true:

2try

:3 a =input()

4 a =int(a)

5 d =

6for i in

range(a):

7 c=input()

8 c=int(c)

9if c not

ind:

1011

d.sort()

12for i in

d:13

print

(i)14

except:15

break

Python常見面試題

1 python生成隨機數 import random random.random 隨機生成0 1之間的數字 random.uniform 1,10 隨機生成1 10之間的數字 包括小數整數 random.randint 1,10 生成1 10之間的整數 random.randrange 1,10,...

python常見面試題

看兩個例子 python a 1 def fun a a 2 fun a print a 1 python a def fun a fun a print a 1 所有的變數都可以理解是記憶體中乙個物件的 引用 或者,也可以看似c中void 的感覺。這裡記住的是型別是屬於物件的,而不是變數。而物件有...

python常見面試題

有如下的一段 class a object def show self print base show class b a def show self print derived show obj b obj.show 如何呼叫類a的show方法了。方法如下 obj.class a obj.show...