teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードを書き直しました。

2021/05/25 14:14

投稿

wasabi1234
wasabi1234

スコア0

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
  ### 発生している問題・エラーメッセージ
6
-  下記のプログラムの中で?1と?2の書き方がわからない
6
+  下記のプログラムの中で?1?と?2?と?3?の書き方がわからりません。
7
7
 
8
8
  ### 該当のソースコード
9
9
 
@@ -12,18 +12,35 @@
12
12
  ```
13
13
 
14
14
  ### 試したこと
15
- def soroeru(x):     サブプログラムの始まり
15
+ def soroeru(x):
16
- nagasa=len(x)    変数xの長さを決める
16
+ nagasa = len(x)
17
- while nagasa < 4: 繰り返しの条件の設定
17
+ while nagasa < 4:
18
- x = "0" + ?1  左側に0を加える
18
+ x="0"+ ?1?
19
-    nagasa = len(x) 繰り返しの条件を更新
19
+ nagasa = len(x)
20
- return(x)      結果をメインプログラムに戻す
20
+ return(x)
21
21
 
22
+ def error(x):
23
+ nagasa = len(x)
24
+ i = 0
25
+ hantei = 0
26
+ while i < nagasa:
22
- x = input()       数字を入力
27
+ a = ?6?( x[i] )
23
- y = ?2        soroeru()を呼出して不足する"0"を加える)
28
+ if a > 1:
29
+ hantei = 1
30
+ i = ?2?
24
- print(x,y)      結果を画面に表示
31
+ return(hantei)
25
-
26
32
 
33
+ x = input()
34
+ nagasa = len(x)
35
+ hantei = error(x)
36
+ if nagasa > 4:
37
+ print("エラー:桁数が多すぎます")
38
+ elif hantei < 1:
39
+ print("エラー:2進数ではありません")
40
+ else:
41
+ y=?3?(x)
42
+ print(x, y)
43
+
27
44
  ### 補足情報(FW/ツールのバージョンなど)
28
45
 
29
46
  ここにより詳細な情報を記載してください。