我试图在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.5次
1号请1
请输入1或0
2号请0
请输入1或0
3号,请
请输入1或0
4号请1
请输入1或0
5号请1
请输入1或0
0
似乎没有改变最终的价值
答案 0 :(得分: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教程。这是一些基本语法。