-4

我正在尝试在 python 上添加变量的值,但它似乎不起作用。

我想尝试将变量的值加在一起,即使值是 True 或 False:请 - 任何人都可以帮忙吗?

final=0
print ("welcome to my binary converter")
print("first number is the smallest value")
print ("please enter a 0 or a 1 five times")

in1 = input("number 1 please")

if in1 == 1:
    final=final+1
elif in1 == 0:
    final=final+0
elif ValueError
    print("please enter a 1 or a 0")

in2 = input("number 2 please")

if in2 == 1:
    final=final+2
elif in2 == 0:
    final=final+0
elif ValueError
    print("please enter a 1 or a 0")

in3 = input("number 3 please")

if in3 == 1:
    final=final+4
elif in3 == 0:
    final=final+0
elif ValueError
    print("please enter a 1 or a 0")

in4 = input("number 4 please")

if in4 == 1:
    final=final+8
elif in4 == 0:
    final=final+0
elif ValueError
    print("please enter a 1 or a 0")

in5 = input("number 5 please")

if in5 == 1:
    final=final+16
elif in5 == 0:
    final=final+0
elif ValueError
    print("please enter a 1 or a 0")
print(final)

我试过在这个网站上找,python书籍,在线帮助,python老师等。

另外,如果有帮助,我有 3.3.0 版。

雅各布

欢迎来到我的二进制转换器

第一个数字是最小值

请输入 0 或 1 五次

请1号1

请输入 1 或 0

请2号0

请输入 1 或 0

请3号0

请输入 1 或 0

请4号1

请输入 1 或 0

请给5号1

请输入 1 或 0

0

它似乎没有改变 final 的值

4

1 回答 1

1

如果两个变量都是整数或字符串,而不是布尔值,则只能将变量添加在一起(好吧,您可以,但它无效)。例如:

>>> var = 1
>>> var2 = 4
>>> var + var2
5

>>> stringvar = 'Hello '
>>> stringvar2 = 'world.'
>>> stringvar + stringvar2
'Hello world.'

>>> boolean1 = True
>>> boolean2 = False
>>> boolean1 + boolean2
1

有效的原因是:

>>> True == 1
True
>>> False == 0
True

编辑:

看来你已经添加了更多代码,所以我会告诉你你做错了什么。

您收到语法错误的原因是因为您有elif ValueError. 这行不通。首先,甚至没有ValueError,因为你有一个input()。如果要检查一个数字是不是 0 或 1,请执行以下操作:

in1 = input("number 1 please")

if in1 == 1:
    final += 1 # I've also changed this. final += 1 is the same as final = final + 1
elif in1 == 0:
    final += 0
elif in1 != 1 or in1 != 0:
    print("please enter a 1 or a 0")

我强烈建议阅读一些 python 教程。这是一些基本语法。

于 2013-01-24T11:57:10.603 回答