首页 > 解决方案 > Python没有运行我的程序没有任何错误

问题描述

我需要创建一个程序来转换 Base 2 中的 Base 10 数字。

接下来是代码,即使没有错误也无法按预期运行:

E = input('Please enter a number') 
Eint= int(E)
for N in range(100,0):
    while 2**N > Eint:
         N = N-1 
         print(0)  
    if B**N <= Eint:
        Eint = Eint - 2**N 
        print(1)   
    Print('finished')   

当我运行它时,它会询问我的号码,但仅此而已,谢谢你们的帮助。

在此处输入图像描述

标签: python

解决方案


从快速检查来看range(100,0)B、 和Print()是这里的三个罪魁祸首!如果你想传递从 0 到 99 的数字,那么range(100)这就是你所需要的。现在,B是什么?打印应小写:print.

在我们修复了这些语法错误之后,让我们尝试重新访问该程序并了解它应该做什么。玩得开心 :-)

编辑以修复问题中的代码:

E = input('Please enter a number: ') 
Eint = int(E)
for N in range(8,-1,-1):
    if 2**N > Eint:
        print(0, end='')
    else:
        Eint = Eint - 2**N 
        print(1, end='')

print()
print('finished')

请注意,Python 是一种使用缩进来表示代码块的语言。此代码会将十进制转换为二进制。现在,请注意,从 8 开始的范围为您提​​供了有关代码可以转换的数字上限的提示。因此,必须在第二条语句之后添加 if 条件,以确保我们不会尝试转换太大的数字。享受!


推荐阅读