如何在Python中相加变量的值?

-4 投票
1 回答
25269 浏览
提问于 2025-04-17 13:31

我在用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

看起来最终的值没有改变

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 的教程。这些都是基本的语法知识。

撰写回答