回答編集履歴

2

追記

2021/05/06 09:36

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -77,3 +77,13 @@
77
77
  password = random_data[:15]
78
78
 
79
79
  ```
80
+
81
+
82
+
83
+ あるいは単に
84
+
85
+ ```Python
86
+
87
+ password = random.sample(random_data, 15)
88
+
89
+ ```

1

追記

2021/05/06 09:36

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -27,3 +27,53 @@
27
27
  + i += 1
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ 別解1
34
+
35
+ ---
36
+
37
+ 文字の存在判定はinで可能です。
38
+
39
+ また、リストから値を消去するより、加える条件を考える方が簡単です。
40
+
41
+ ```Python
42
+
43
+ i = 0
44
+
45
+ while i < 15:
46
+
47
+ random_pass = random.choice(random_data)
48
+
49
+
50
+
51
+ if random_pass in password:
52
+
53
+ continue
54
+
55
+
56
+
57
+ password.append(random_pass)
58
+
59
+ i += 1
60
+
61
+ ```
62
+
63
+
64
+
65
+ 別解2
66
+
67
+ ---
68
+
69
+ 重複が無い抽出をしたいときは、シャッフルした方が簡単です。
70
+
71
+ ```Python
72
+
73
+ random_data = list(random_data)
74
+
75
+ random.shuffle(random_data)
76
+
77
+ password = random_data[:15]
78
+
79
+ ```