質問編集履歴

1

ソースコードを貼り直した

2021/09/13 03:35

投稿

unchan
unchan

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Pythonで、文字から2進数に変換してパリティを付与するというプログラムを作っているのですが
4
-
5
- 初歩的なことだと思うのですがエラーが出たので質問しました
3
+ Pythonで初歩的なことだと思うのですがエラーが出たので質問しました
6
4
 
7
5
  どなたかわかる方教えていただけないでしょうか
8
6
 
@@ -16,123 +14,89 @@
16
14
 
17
15
  ```NameError: name 'tmp' is not defined
18
16
 
19
-
20
-
21
17
  ### 該当のソースコード
22
-
23
-
24
-
25
- ```
26
18
 
27
19
  import numpy as np
28
20
 
29
-
30
-
31
21
  import matplotlib.pyplot as plt
32
-
33
-
34
22
 
35
23
  import scipy.fftpack as sfft
36
24
 
37
-
38
-
39
25
  import matplotlib.mlab as mlab
40
-
41
-
42
26
 
43
27
  import cis
44
28
 
45
-
46
-
47
29
  import random
48
30
 
49
-
50
-
51
- import re
31
+ #import re
52
32
 
53
33
 
54
34
 
55
35
  print("Input string")
56
36
 
57
-
58
-
59
37
  b = input()
60
-
61
-
62
38
 
63
39
  a = []
64
40
 
65
-
66
-
67
41
  b = []
68
42
 
69
-
70
-
71
43
  fs=44100
72
-
73
-
74
44
 
75
45
  t=np.arange(0,0.1,1/fs)
76
46
 
77
47
 
78
48
 
49
+ #低域の音信号を代わりに、乱数列を代用
50
+
79
51
  r=np.array( [random.random() for i in range(4410)])
52
+
53
+ r=(r-0.5)/30
54
+
55
+ #19行目から32行目において、入力した文字列の二進変換処理。
56
+
57
+ #二進変換した後のデータが多次元配列としてaに格納される。
58
+
59
+ #rangeは引数に指定した開始数から終了数までの
60
+
61
+ #連続した数値を要素として持つ range 型のオブジェクトを作成します。
62
+
63
+ #lenは引数に指定したオブジェクトの長さの取得
64
+
65
+ #ordは文字をunicode値に変換する関数
66
+
67
+ #tmp一時ファイルの作成
68
+
69
+ #bin引数に指定した整数を2進数
70
+
71
+ for i in range(len(b)):
72
+
73
+ s ="00000000"+ bin(ord(b[i]))[2:]
74
+
75
+ s = s[-8:]
76
+
77
+ print(b[i]+":"+s)
78
+
79
+ tmp=[]
80
+
81
+ for j in range(8):
82
+
83
+ tmp.append(int(s[j]))
84
+
85
+ p=0
86
+
87
+ for j in range(1,8):
88
+
89
+ p=p^tmp[j]
90
+
91
+ tmp[0]=p
92
+
93
+ a.append(tmp)
94
+
95
+ a = np.array(a)
80
96
 
81
97
 
82
98
 
83
- r=(r-0.5)/30
84
-
85
-
86
-
87
- for i in range(len(b)):
88
-
89
-
90
-
91
- s ="00000000"+ bin(ord(b[i]))[2:]
92
-
93
-
94
-
95
- s = s[-8:]
96
-
97
-
98
-
99
- print(b[i]+":"+s)
100
-
101
-
102
-
103
- tmp=[]
104
-
105
-
106
-
107
- for j in range(8):
108
-
109
-
110
-
111
- tmp.append(int(s[j]))
112
-
113
-
114
-
115
- p=0
99
+ ```
116
-
117
-
118
-
119
- for j in range(1,8):
120
-
121
-
122
-
123
- p=p^tmp[j]
124
-
125
-
126
-
127
- tmp[0]=p
128
-
129
-
130
-
131
- a.append(tmp)
132
-
133
-
134
-
135
- a = np.array(a)
136
100
 
137
101
 
138
102