在不使用 if else 和任何类型的循环的情况下打印 true 或 false

print true or false without using if else and any kind of of loop

我的朋友最近接受了一次采访,他被问到 如果用户给你输入 0 或 1,你如何打印 true 或 false 而你必须在不使用 if else 或 any 的情况下执行此操作有点循环? 不幸的是,他没有向 interviewer.I 寻求解决方案,但在任何地方都找不到相关解决方案,所以我想我应该把这个问题放在这里。

你可以使用数组。例如:

# i = user input

array[0] = "false"
array[1] = "true"

print(array[i])

你也可以使用字典。

在Javascript,

// userInput is an integer
console.log(Boolean(userInput));

在Python,

# userInput must be an integer and not string
print(bool(userInput))

无论 0 代表 true 还是 1,我都保持开放状态。

System.out.println(input == 1);

这是Java;其他语言类似,但 Java 稍微容易一些。

此处 println 在布尔对象上执行 toString。

这个Java的答案是最纯粹的,有点像(bool) (input == 1)。给出一个实际的布尔值。由于问题没有说明应该打印字符串表示形式。

否则可能会假设条件三元运算符 ? :if else 的一种形式,因此需要数组索引。

print({"true", "false"}[input]);

在 C 中也可以用数字计算每个字符。

char s[6];
int tupni = 1 - input;
s[0] = (char) ('t' * input + 'f' * tupni);
s[1] = (char) ('r' * input + 'a' * tupni);
s[2] = (char) ('u' * input + 'l' * tupni); 
s[3] = (char) ('e' * input + 's' * tupni); 
s[4] = (char) ('[=12=]' * input + 'e' * tupni);
s[5] = '[=12=]';

美好的一天。

对于这种情况,您可以使用条件运算符或三元运算符。

语法:(条件?true_value:false_value); 示例:(值 > 500 ? 0 : 1);