Python 我不明白这个语法错误

Python 我不明白这个语法错误,python,Python,我想我计算从整数到二进制数的转换是错误的。我输入了整数6,得到了二进制数0,这肯定是错误的。你们能帮忙吗?这是新代码 def ConvertNtoBinary(n): binaryStr = '' if n < 0: print('Value is a negative integer') if n == 0: print('Binary value of 0 is 0') else: if n >

我想我计算从整数到二进制数的转换是错误的。我输入了整数
6
,得到了二进制数
0
,这肯定是错误的。你们能帮忙吗?这是新代码

def ConvertNtoBinary(n):

    binaryStr = ''
    if n < 0:
        print('Value is a negative integer')

    if n == 0:
        print('Binary value of 0 is 0')
    else:
        if n > 0:
            binaryStr = str(n % 2) + binaryStr
            n = n > 1
    return binaryStr

def main():
    n = int(input('Enter a positive integer please: '))
    binaryNumber = ConvertNtoBinary(n)
    print('n converted to a binary number is: ',binaryNumber)

main()
def转换器二进制文件(n):
binaryStr=''
如果n<0:
打印('值为负整数')
如果n==0:
打印('0的二进制值为0')
其他:
如果n>0:
binaryStr=str(n%2)+binaryStr
n=n>1
返回二进制str
def main():
n=int(输入('请输入一个正整数:'))
binaryNumber=ConvertNtoBinary(n)
打印('n转换为二进制数为:',binaryNumber)
main()

您忘记调用
原始输入()。现在,您尝试将提示消息转换为无法工作的整数

n = int(raw_input('Enter a positive integer please: '))
当然,
try.。除了那一行之外,
是个好主意:

try:
    n = int(raw_input('Enter a positive integer please: '))
except ValueError:
    n = 0 # you could also exit instead of using a default value

您忘记调用
raw\u input()
。现在,您尝试将提示消息转换为无法工作的整数

n = int(raw_input('Enter a positive integer please: '))
当然,
try.。除了那一行之外,
是个好主意:

try:
    n = int(raw_input('Enter a positive integer please: '))
except ValueError:
    n = 0 # you could also exit instead of using a default value
n=int('请输入一个正整数:')
中,您试图从字符串“输入一个正…”中生成一个int。我想你忘了你的
原始输入()。你也可以这样做

n=int(原始输入('请输入一个正整数:'))

n=int('请输入一个正整数:')
中,您试图从字符串“输入一个正…”中生成一个int。我想你忘了你的
原始输入()。你也可以这样做

n=int(原始输入('请输入一个正整数:'))


您不能将仲裁字符串文字转换为int。我想您的意思是调用某种类型的提示方法,从用户处获取输入。

您不能将仲裁字符串文字转换为int。我想您的意思是调用某种类型的提示方法,从用户处获取输入。

这与windows有什么关系?什么时候开始出现
ValueError
SyntaxError
?!这与windows有什么关系?什么时候开始出现
ValueError
SyntaxError
?!谢谢,我不敢相信我忘记了,现在我得到了一个无效的语法错误的单词二进制后,直接。如果我只是定义一个变量,我不明白为什么。@NateBurrogrammer:也许你忘了一个
?如果不看到实际的错误表,就无法回答。也许你有不匹配的括号。谢谢,我不敢相信我忘记了,现在我得到了一个无效的语法错误的单词二进制后,直接。如果我只是定义一个变量,我不明白为什么。@NateBurrogrammer:也许你忘了一个
?如果不看到实际的错误表,就无法回答。也许你的括号不匹配。