Angels N Agony
Angels N Agony

Reputation: 1

Flowchart in Python

I need to write a prog in Python that accomplishes the following:

Prompt for and accept the input of a number, either positive or negative. Using a single alternative "decision" structure print a message only if the number is positive.

It's extremely simply, but I'm new to Python so I have trouble with even the most simple things. The program asks for a user to input a number. If the number is positive it will display a message. If the number is negative it will display nothing.

num = raw_input ("Please enter a number.")

if num >= 0 print "The number you entered is " + num
else:
    return num
  1. I'm using Wing IDE
  2. I get the error "if num >= 0 print "The number you entered is " + num"
  3. How do I return to start if the number entered is negative?
  4. What am I doing wrong?

Upvotes: 0

Views: 1179

Answers (2)

Maciek Talaska
Maciek Talaska

Reputation: 1638

Try this:


inputnum = raw_input ("Please enter a number.")
num = int(inputnum)

if num >= 0:
    print("The number you entered is " + str(num))

you don't need the else part just because the code is not inside a method/function.

I agree with the other comment - as a beginner you may want to change your IDE to one that will be of more help to you (especially with such easy to fix syntax related errors)

(I was pretty sure, that print should be on a new line and intended, but... I was wrong.)

Upvotes: 0

arshajii
arshajii

Reputation: 129547

Try this:

def getNumFromUser():
    num = input("Please enter a number: ")
    if num >= 0: 
        print "The number you entered is " + str(num)
    else:
        getNumFromUser()

getNumFromUser()

The reason you received an error is because you omitted a colon after the condition of your if-statement. To be able to return to the start of the process if the number if negative, I put the code inside a function which calls itself if the if condition is not satisfied. You could also easily use a while loop.

while True:
    num = input("Please enter a number: ")
    if num >= 0: 
        print "The number you entered is " + str(num)
        break

Upvotes: 1

Related Questions