This question already has answers here:
"is" operator behaves unexpectedly with integers
(11 answers)
Is it better to use "is" or "==" for number comparison in Python? [duplicate]
(6 answers)
Closed 4 years ago.
The expected behaviour for this is to print 2949 is the magic number! when it hits 2949, yet the loop doesn't. The loop seems to start at 19, then jump to 513920 - why is this?
magicNumber = 2949
for x in range(0, 100000000):
if (x is magicNumber):
print(x, "is the magic number!")
Related
This question already has answers here:
How to get max() to return variable names instead of values in Python?
(5 answers)
Most efficient way of making an if-elif-elif-else statement when the else is done the most?
(9 answers)
How can you print a variable name in python? [duplicate]
(8 answers)
Closed 15 days ago.
I'm finding the largest number from a set of numbers (4 in my case). Is there a more efficient method of running the the code below? I tried using 'match' however it seemed to be on the same level as using if's and elif's.
maximum = max(a,b,c,d)
if maximum == a:
print("a is max")
elif maximum == b:
print("b is max")
elif maximum == c:
print("c is max")
elif maximum == d:
print("d is max")
This question already has answers here:
Comparing a string to multiple items in Python [duplicate]
(3 answers)
Why does "a == x or y or z" always evaluate to True? How can I compare "a" to all of those?
(8 answers)
Closed 2 years ago.
Hi I'm new to python and I'm having some trouble with logical operators. In the code I want the user to input one of three choices A, S , or D and reject anything else. The problem Im having is that when I input A, S, or D it still prints out Invalid Input.
guess = input("Lower (a), Same (s), Higher (d): ")
if guess != "a" or "s" or "d":
print ("Invalid Input")
Im using python version 2.7 if that helps
Here or short circuit operator compares the two True values + the condition guess != 'a' (Because non empty values evaluate to True in Python), so use not in:
guess = input("Lower (a), Same (s), Higher (d): ")
if guess not in ['a','s','d']:
print("Invalid Input")
This question already has answers here:
Putting an if-elif-else statement on one line?
(14 answers)
Closed 2 years ago.
I have the following Code in Python:
def show_sequence(n):
if n > 0:
return "+".join((str(i) for i in range(n+1))) + " = %d" %(sum(range(n+1)))
elif n == 0:
return "0=0"
else:
return str(n) + "<0"
Question: Is there a syntax correct way of putting all lines into one return statement if there are 3 if-statements?
I know it works with one if- & else-statement but im a fan of one-liner and already asked this myself several times.
Inline if-statements can be chained like this:
"a" if 0 else "b" if 0 else "c"
(replace the 0s with 1s to see the return value change)
You can use this:
result = True if a==b else False
This question already has answers here:
python: while loop not checking the condition [closed]
(3 answers)
Closed 8 years ago.
In the following code:
def foo(n):
print "n value before if:",n #displays given num
if n <= 2:
print "n value:",n #not displayed even n is less than 2
num = raw_input()
print foo(num)
The if statement does not execute on giving inputs less than 2 for num.
So, why is if statement not executing?
raw_input returns a string, you are then comparing it to an integer.
Try converting it to an int:
num = int(raw_input())
This question already has answers here:
How to test multiple variables for equality against a single value?
(31 answers)
Closed 9 years ago.
I'm creating a program in python that involves integers and i want a piece of code to work like this:
num = int(input("Select a number: "))
while num != (1 or 2 or 3):
num = int(input("Select a number: "))
PLease can you give me the correct code for this, Thanks
You need to use in here:
while number not in (1, 2, 3):
For the part of asking for numbers check raw_input.
For the while loop, you can check while loop.