0
How do i rewrite this python code in c#?
if 0 < (guess-x) > 5 : print("Wrong, the number is lower") elif 0 < (x-guess) > 5 : print("Wrong,the number is higher") elif 0 < (guess-x) <= 5 : print('wrong but very close, the number is lower') elif 0 < (x-guess) <= 5 : print('wrong but very close, the number is higer') else: print("Correct guess")
2 Answers
+ 3
if 0 < (guess-x) > 5 : #syntax works only python,
This means
if( (0< guess-x) && (guess-x >5) ) a compound conditional statement.. this way equals in almost other languages c, c++ , c#, java.
+ 1
Remember the DRY principle - Don't Repeat Yourself.
Calculate the difference once, then use that in the comparisons. Also avoid repeating comparisons. Here is reduced logic that translates more easily into C#:
diff = guess - x
if diff>5:
print("Wrong, the number is lower")
elif diff<-5:
print("Wrong, the number is higher")
elif diff>0:
print('Wrong but very close, the number is lower')
elif diff<0:
print('Wrong but very close, the number is higher')
else:
print("Correct guess")
To translate into C# you must:
- Declare variable types.
- Terminate statements with semicolon.
- Put parentheses around conditionals.
- Remove separating colons.
- Use Console.WriteLine instead of print.
- Replace elif with else if.
- Use only " for strings, not '.