2017-06-12 5 views
0

私はJavaScriptコードをPythonに翻訳しようとしていますが、問題は私がいくつかの式が何をしているのかわからないということです。ここに翻訳したいコードがあります。これらのJavascript式(+!)は何をしますか?

var generateID = function(dob, male, citizen) { 
     var gender = getRandom(5) + (male ? 5 : 0);//this line if anyone knows what it does 
     var citBit = +!citizen;//this is the line that i need to translate to a python equivalent 
    }; 
+3

であれば値がfalsefalseであれば、それはtrueを返す返された場合。 '!'はBooleanに変換され、' + 'は' false'の場合は '0'に、' true'の場合は '1'に変換されます。 – Tushar

+0

''(male?5:0) 'は[三項演算子]です(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 'if' – George

+0

@George彼が+を含む3行目を尋ねる+!三元演算子についてではない – Newbie

答えて

0

それはブール

などのため

getRandom = function(s) { return s } 
 

 
var generateID = function(dob, male, citizen) { 
 
     var gender = getRandom(5) + (male ? 5 : 0);//this line if anyone knows what it does 
 
     var citBit = +!citizen;//this is the line that i need to translate to a python equivalent 
 
     console.log(citBit); 
 
    }; 
 
    
 
generateID(null , 'yes', 1)

+0

ありがとう、これは助け! – user2479669

+0

あなたが私の答えを受け入れると感じたら – Newbie

0
+! will test return opposite boolean representation for your input. 

if your input is `true` will return false. 
if it is `false` will return `true` 

に変換されます:

あなたの与えられた入力がブール値が表す> 0あるので、それはを行います1ですと返信false同等物0。同様に、その01

+0

ありがとうMohammed! – user2479669

0

値はブールにしてから数への変換true

関連する問題