If-else in Python [closed] - python

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 11 months ago.
Improve this question
Fix this:
for n in range(1,8):
print(n)
if(n>=2 & n<=5):
print("This Number is either 2,3,4 or 5\n")
else:
print("This Number is "+n)

Use and.
and is a Logical AND that returns True if both the operands are true whereas & is a bitwise operator in Python
for n in range(1,8):
print(n)
if(n >= 2 and n <= 5):
print("This Number is either 2,3,4 or 5\n")
else:
print("This Number is ", + n)

1. & is bitwise and operator while and is used for logical and operator.
2. You need to convert integer to string for concatenation.
Corrected code:
for n in range(1,8):
print(n)
if(n>=2 and n<=5):
print("This Number is either 2,3,4 or 5\n")
else:
print("This Number is "+str(n))

Related

Python not returning output [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 months ago.
Improve this question
def get_prime_factors(N):
factors = list()
divisor = 2
while (divisor <= N):
if (N % divisor) == 0:
factors.append(divisor)
N = N//divisor
else:
divisor += 1
return factors
I'm trying to run this small project however I'm not getting any output either from my python IDLE shell, terminal or VSCode. any errors in my code?
I made a test script and it outputted normal, not sure why this one has no output.
running Python 3.10.6
on MacBook Pro M1
thanks!
Once you've defined the function, you must call it then print the result. Like this:
def get_prime_factors(N):
factors = list()
divisor = 2
while (divisor <= N):
if (N % divisor) == 0:
factors.append(divisor)
N = N//divisor
else:
divisor += 1
return factors
# get an input
n = input("Enter a number: ")
# call the function and assign return to a variabe
prime_factors = get_prime_factors(int(n))
# print the result
print(prime_factors)
You probably also want to prompt the user for input, so I've included code to do that in my answer.
PS: I have another answer about why you have to do this. That answer might be helpful if you're a beginner.
You have to call the function to see an output.
print(get_prime_factors(3))

Python, how can I print an odd and even digits from entered number [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
For example, if the number 34560 is entered, then it has 3 even numbers (4, 6 and 0) and 2 odd numbers (3 and 5).
for num in int(len(number)):
if num % 2 != 0:
print(num, end=" ")```
you can use for example like this:
number = 34560
even = [int(x) for x in str(number) if int(x)%2 == 0]
odd = [int(x) for x in str(number) if int(x)%2 != 0]
print(even)
print(odd)

How do I compare the first and second items of a list in python? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
So I am trying to compare the first item in a list to the second. I want to find out if the first item is equal to, less than, or greater than the second item.Here is what I have so far. I'm stuck at this part :/
numbers = []
for i in range(0,3):
num = input("Please enter an integer: ")
numbers.append(num)
you have this code that will ask the user for 3 integers, and then you are adding them to the list numbers. You need first to convert then to integers by adding int(input(..))
numbers = []
for i in range(0,3):
num = int(input("Please enter an integer: "))
numbers.append(num)
Now we can start comparing the first and the second number of the list:
if numbers[0] > numbers[1]:
print("the first number is bigger than the second")
elif numbers[1] > numbers[0]:
print("the second number is bigger than the first")
else:
print("the first and the second numbers are equal")

Instead of 'Break' [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I tried to use boolean instead of 'break' , but I could not manage to do that. Is there a way to edit this code without 'break' ?
Primes:
lower = int(input("Enter the lower bound: "))
upper = int(input("Enter the upper bound: "))
for num in range(lower,upper+1):
if num>1 :
for i in range(2,num):
if(num%i) == 0:
break
else:
print(num, end =", ")
You want to get rid of the break and preserve the same behavior of exiting the inner loop as soon as num % i == 0. This is one way to do it, using a boolean flag and replacing the for with a while so we can add one extra condition for the iteration:
for num in range(max(2, lower), upper + 1):
i = 2
prime = True
while i < num and prime:
if num % i == 0:
prime = False
i += 1
if prime:
print(num, end=", ")
You could replace break with pass. I think that will do what you want.

python program will not continue [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
i am writing a program about coin flips i want the user to enter number and for the program to flip a coin that many times.
once the user gives number the program stops
this is what i have
import random
flips = 0
heads=0
tails=0
numFlips = raw_input("Flips ")
while flips < numFlips:
flips += 1
coin = random.randint(1, 2)
if coin == 1:
print('Heads')
heads+=1
if coin == 2:
print ('Tails')
tails+=1
total = flips
print(total)
print tails
print heads
numFlips is a str. You have to convert it to an int first.
numFlips = int(raw_input("Flips "))
Otherwise, your check flips < numFlips will not work, since all ints are 'less than' any string.
(Also, you want to add some error-handling for the case the user enters something other than an integer)
On line
numFlips = raw_input("Flips ")
raw_input() reads a string : http://docs.python.org/2/library/functions.html#raw_input
Convert it to integer by doing int(raw_input("Flips "))
You can also use input() evaluates the string to a python expression, which in this case would evaluate to an int.
EDIT: As pointed out by #bruno desthuilliers, it is unsafe to use input() and should rather just convert the raw_input() to int.

Categories

Resources