私はPythonでアセンブラーを書いていますが、ifelseステートメントを書くのに助けが必要です。バイナリに変換したい次の機械語命令があります。
@i
D=M // D=i
@100
D=D-A // D=i-100
コメントとスペースを削除/無視するように、ステートメントをどのように記述しますか。私の見方では、/に続くものはすべて削除/無視し、文字に達するまでその行をスキップしますが、これをどのように書くかはわかりません。ありがとう!
私はPythonでアセンブラーを書いていますが、ifelseステートメントを書くのに助けが必要です。バイナリに変換したい次の機械語命令があります。
@i
D=M // D=i
@100
D=D-A // D=i-100
コメントとスペースを削除/無視するように、ステートメントをどのように記述しますか。私の見方では、/に続くものはすべて削除/無視し、文字に達するまでその行をスキップしますが、これをどのように書くかはわかりません。ありがとう!
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
以下の例に従ってください。
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!