Hello I am trying to do the following problem where i replace a variable in a string with a zero as long as it is in a given area.

S is the string, b is the variable we want to replace with zeros ( not the letter b) and x is the index (an integer) These are passed into the function as parameters and are already defined.

I have this so far -
mystring = ‘’
for l in s:
if l == ‘b’:
l = ‘0’
mystring = mystring + l

``````return mystring
``````

this obviously replaces all the b’s with zeros but i only want to do it if the b (variable, not letter) occurs before x (an integer already defined)

I’ve tried pretty much everything I can think of but can’t get it to work and I feel like the answer is so simple.
EDIT: and x is not an integer that occurs in the string, rather it’s an index. e.g. if x is 5 then replace b with zero up until the 5th char in the string.

Hi @cloud1728201608 - welcome to the forum.

Oddly, another new user recently asked the same question - and rapidly withdrew the topic… What a curious coincidence.

Anyhoo… I’m not going to provide you with a solution, but I’ll nudge you in the right direction.

You mention that you have a defined variable `x`, which is the index after which you want to stop replacing `b` with `0`.

Nowhere in your code are you keeping track, or otherwise making use of, any form of index.

Can you think of any way to adjust your code so that you’re iterating over the string in a way that would allow you to track the current index, which you can then compare to your cutoff point?

I think you mean something like this? using the index in the range (len(s)) This however just returns the total number of chars in the string even though I feel like it should work. This is where I’m at right now I feel im close
for i in range(len(s)):
if i < x and i == b:
i = ‘0’
mystring = mystring+ str(i)
return mystring

You’re asked to replace any characters which match your variable `b` with a `0`

Your code is (I think - I’ve had to guess the indentation):

``````for i in range(len(s)):
if i < x and i == b:
i = '0'
mystring = mystring+ str(i)
return mystring
``````

Where are you getting the current character to be checked from the string `s`? Answer: You aren’t.

I think perhaps rather than fumbling for a solution, you might find it easier to work out the process you need to follow first and then implement it in code.

By that, I mean that if I gave you a phrase - e.g. “supercalifragilisticexpialidocious” - and asked you to replace any instances of the letter `a` which occur before the 14th character, what are the iterative steps that you would need to get the computer to take to accomplish that task.

Don’t worry about writing any code - if you can work out the steps written as an instruction that a person would understand, then turn those in to code, you’ll likely figure it out.