Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I wished to check if an input is in the string and then print the output

I intended to let the program check if the input matches with any character in a str and then print out the result, the player input and the underscores in the correct places. This is my test code so far:

astring = "apple"
bstring = "_ " * 5
print(bstring)
my_input = input("enter a letter")

for i, n in enumerate(astring):
    if my_input == i:
        bstring[n] = my_input
    else:
        i = i + 1

print(bstring)

However, only the underscores are being printed out. Can anyone help me?

like image 360
Erik Rosolov Avatar asked Jan 27 '26 17:01

Erik Rosolov


1 Answers

In your loop, you should be checking to see if the letter at your current index of your string is the same as the letter at the current index of your input string, to do this you can use:

if i < len(my_input) and my_input[i] == n:

Also, strings in Python are immutable, and so you can't change them via index. Instead, use an array of _, so that you can change what is at a particular index. Then, at the end, join each element in your list by a space.

Lastly, there is no need to increment i, as this is done for you by your for loop:

astring='apple'
bstring=['_']*len(astring)

print(bstring)

my_input = input('enter a letter')

for i,n in enumerate(astring):
    if i < len(my_input) and my_input[i] == n:
        bstring[i] = n

print(' '.join(bstring))
like image 80
Nick Parsons Avatar answered Jan 30 '26 10:01

Nick Parsons



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!