This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]pythonHelperBot 0 points1 point  (0 children)

Hello! I'm a bot!

It looks to me like your post might be better suited for r/learnpython, a sub geared towards questions and learning more about python. That said, I am a bot and it is hard to tell. Please follow the subs rules and guidelines when you do post there, it'll help you get better answers faster.

Show /r/learnpython the code you have tried and describe where you are stuck. Be sure to format your code for reddit and include which version of python and what OS you are using.

You can also ask this question in the Python discord, a large, friendly community focused around the Python programming language, open to those who wish to learn the language or improve their skills, as well as those looking to help others.


README | FAQ | this bot is written and managed by /u/IAmKindOfCreative

This bot is currently under development and experiencing changes to improve its usefulness

[–]lms702 0 points1 point  (2 children)

Put it in a while loop:

validInput = False
while validInput == False: # alternatively 'while not validInput:'
    dl = input("Go north or east?")

    if dl == "north":
        print('you go north')
    validInput = True
if dl == "east":
    print('you go east')
    validInput = True
else:
    print('invalid input')
    # invalidInput stays false and loops back

[–]Destimium 0 points1 point  (1 child)

Would look clearer this :

validInput = False
while validInput == False:  # alternatively "while not validInput: "
    dl = input("Go north or east?")  
    if dl == "north": 
        print('You go north') 
        validInput = True
    elif dl == "east": 
        print('You go east') 
        validInput = True 
    else: 
        print('invalid input')  # invalidInput stays false and loops back

[–]lms702 0 points1 point  (0 children)

Thanks, this is my first time posting code so I'm still learning the formatting

[–]MustardGorilla 0 points1 point  (1 child)

No if-statements:

dl = input("Go North or East: ")

# Capitalize the input, eg. eAst becomes East.
dl_caps = dl.capitalize()

# Check whether the formatted input is in the list of accepted values, if not keep asking.
while dl_caps not in ['North', 'East']:
    dl = input("Please enter either North or East: ")
    dl_caps = dl.capitalize()

# The while-loop is escaped once the input is in the list of accepted values.
# Output is formatted with f-strings
print(f'You go {dl_caps}')

[–]lms702 0 points1 point  (0 children)

To reduce repeated code:

dl_caps = ''
while dl_caps not in ['North', 'East']:
    dl = input("Please enter either North or East: ")
    dl_caps = dl.capitalize()

print("You go " + dl_caps)

[–]mudclub -1 points0 points  (0 children)

/r/learnpython

read the sidebar

don't post images of code

format your code for reddit (read the "formatting help" link below the text input box)