【发布时间】:2018-03-20 18:00:02
【问题描述】:
我在使用 python 脚本时遇到了一些问题。我不太擅长这种语言,因为我正在为我的朋友做点什么。
代码可以运行,但输出很奇怪。一些随机的东西,而不是二进制数。
代码如下:
def decToBin(n):
wynik = ""
while n > 0:
wynik = str(n % 2) + wynik
n = n / 2
return wynik
print("zamiana liczb z systemu dziesietnego na binarny")
with open('program.txt', 'r') as plik: # otwieramy plik do odczytu
for line in plik:
x=int(line)
with open('wyniki.txt', 'w') as plik1:
plik1.write(decToBin(x))
plik1.close()
plik.close()
这里是脚本的链接: repl.it
/编辑 好的,想通了,下面是代码:
def decToBin(n):
wynik = ""
while n > 0:
wynik = str(n % 2) + wynik
n = int(n/2)
return wynik
plik1=open('wyniki.txt', 'w')
print("zamiana liczb z systemu dziesietnego na binarny")
with open('program.txt', 'r') as plik: # otwieramy plik do odczytu
for line in plik:
x = int(line)
plik1.write(decToBin(x))
plik1.write("\n")
plik1.close()
【问题讨论】:
-
您能否将您的代码放入适当的代码块中?以这种方式阅读真的很难。附带说明一下,您应该删除
plik.close()和plik1.close(),因为您的with-statements 已经解决了这个问题。 -
请将此代码重构为minimal reproducible example,它不需要读者拥有名为“program.txt”的文件,并且不会在其系统上创建新文件。像“我试过
print(decToBin(3))并希望得到 '111',但我得到了 [实际输出]”之类的东西会很好。 -
你能举一个输入文件的例子吗?另外,输出中“随机事物”的示例?顺便说一句,代码的缩进是“关闭的”并且难以阅读,因为 python 语法依赖于缩进,它比其他语言(如 java)更重要。