-4

私はPythonでアセンブラーを書いていますが、ifelseステートメントを書くのに助けが必要です。バイナリに変換したい次の機械語命令があります。

@i

D=M // D=i

@100

D=D-A // D=i-100

コメントとスペースを削除/無視するように、ステートメントをどのように記述しますか。私の見方では、/に続くものはすべて削除/無視し、文字に達するまでその行をスキップしますが、これをどのように書くかはわかりません。ありがとう!

4

2 に答える 2

1
with open('in.txt') as f:
    lines=f.readlines()
for line in lines:
    line=line.strip()
    if line:
     if '//' in line:
         ind=line.find('//')
         print(line[:ind])
     else:
         print(line)      

出力:

@i
D=M 
@100
D=D-A 
于 2012-05-06T18:03:28.570 に答える
0

以下の例に従ってください。

if-else コードブロック:

#!/usr/bin/python

var1 = 100
if var1:
   print "1 - Got a true expression value"
   print var1
else:
   print "1 - Got a false expression value"
   print var1

var2 = 0
if var2:
   print "2 - Got a true expression value"
   print var2
else:
   print "2 - Got a false expression value"
   print var2

print "Good bye!"

出力:

1 - Got a true expression value
100
2 - Got a false expression value
0
Good bye!

if-elif-else コードブロック:

#!/usr/bin/python

var = 100
if var == 200:
   print "1 - Got a true expression value"
   print var
elif var == 150:
   print "2 - Got a true expression value"
   print var2
elif var == 100:
   print "3 - Got a true expression value"
   print var
else:
   print "4 - Got a false expression value"
   print var

print "Good bye!"

出力:

3 - Got a true expression value
100
Good bye!
于 2012-05-06T17:57:38.753 に答える