如何将布尔真值输入变量?
How do I input boolean Truth values to a variable?
#executing the XOR gate
print('Enter a truth value for each of the variables and get A XOR B.')
print('Enter A')
a = input()
print('Enter B')
b = input()
print('The XOR gate value is:')
print(((a and (not b)) or ((not a) and b)))
所以很明显,我正在尝试将布尔关键字 True
和 False
输入变量 a
和 b
以获得 XOR 的输出门.
这里的问题是输入函数正在评估 True
或 False
输入为字符串而不是布尔注册字,并且程序总是返回 False
作为答案。
我想知道是否有一种方法可以在变量中输入和存储布尔值。
任何非空字符串的计算结果都是布尔值 True
。即使 bool('False')
是 True
.
您可以使用 a = True if input().lower() in ('t', 'true') else False
(或更短的形式,a = input().lower() in ('t', 'true')
)
和 b
相同。
当然这不一定要在一行中,你可以决定使用什么逻辑来决定哪些字符串是allowed/interpreted作为True
或False
。
不要走eval
的路。
ast.literal_eval
可以使用,但会接受任何文字(整数、列表、字符串)。
a = input()[0].lower() in '1ty'
这接受 1
、true
和 yes
(以及其他)以不区分大小写的方式作为 True。
只需将输入值与 True if 进行比较,其为真 return a = True
else a =False
。默认情况下 input() 接受一个字符串作为输入,所以,我们可以这样转换它。
#executing the XOR gate
print('Enter a truth value for each of the variables and get A XOR B.')
print('Enter A')
a = True if input() == 'True' else False
print('Enter B')
b = True if input() == 'True' else False
print('The XOR gate value is:')
print(((a and (not b)) or ((not a) and b)))
因此,输入 True
或 False
。
#executing the XOR gate
print('Enter a truth value for each of the variables and get A XOR B.')
print('Enter A')
a = input()
print('Enter B')
b = input()
print('The XOR gate value is:')
print(((a and (not b)) or ((not a) and b)))
所以很明显,我正在尝试将布尔关键字 True
和 False
输入变量 a
和 b
以获得 XOR 的输出门.
这里的问题是输入函数正在评估 True
或 False
输入为字符串而不是布尔注册字,并且程序总是返回 False
作为答案。
我想知道是否有一种方法可以在变量中输入和存储布尔值。
任何非空字符串的计算结果都是布尔值 True
。即使 bool('False')
是 True
.
您可以使用 a = True if input().lower() in ('t', 'true') else False
(或更短的形式,a = input().lower() in ('t', 'true')
)
和 b
相同。
当然这不一定要在一行中,你可以决定使用什么逻辑来决定哪些字符串是allowed/interpreted作为True
或False
。
不要走eval
的路。
ast.literal_eval
可以使用,但会接受任何文字(整数、列表、字符串)。
a = input()[0].lower() in '1ty'
这接受 1
、true
和 yes
(以及其他)以不区分大小写的方式作为 True。
只需将输入值与 True if 进行比较,其为真 return a = True
else a =False
。默认情况下 input() 接受一个字符串作为输入,所以,我们可以这样转换它。
#executing the XOR gate
print('Enter a truth value for each of the variables and get A XOR B.')
print('Enter A')
a = True if input() == 'True' else False
print('Enter B')
b = True if input() == 'True' else False
print('The XOR gate value is:')
print(((a and (not b)) or ((not a) and b)))
因此,输入 True
或 False
。