我的朋友最近接受了一次采訪,他被問到如果用戶給您輸入 0 或 1,您如何列印 true 或 false,并且您必須在不使用 if else 或任何型別的回圈的情況下執行此操作?不幸的是,他沒有向面試官詢問解決方案。我尋找了解決方案,但在任何地方都找不到相關的解決方案,所以我想我應該把這個問題放在這里。
uj5u.com熱心網友回復:
無論 0 代表真還是 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) ('\0' * input 'e' * tupni);
s[5] = '\0';
uj5u.com熱心網友回復:
您可以使用陣列。例如:
# i = user input
array[0] = "false"
array[1] = "true"
print(array[i])
您也可以使用字典。
uj5u.com熱心網友回復:
在 JavaScript 中,
// userInput is an integer
console.log(Boolean(userInput));
在 Python 中,
# userInput must be an integer and not string
print(bool(userInput))
uj5u.com熱心網友回復:
再會。
在這種情況下,您可以使用條件運算子或也稱為三元運算子。
語法:(條件?true_value:false_value); 示例:(值 > 500 ? 0 : 1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/379739.html
上一篇:如何使用R中的條件過濾?
