Home > front end >  How to prevent tuples inside tuples?
How to prevent tuples inside tuples?

Time:10-09

I am trying to do what is shown in the following code

repeat = 0
x = "1"

while repeat != 3:
    x = x, x
    repeat = repeat   1

print(x)

However, it outputs: ((('1', '1'), ('1', '1')), (('1', '1'), ('1', '1')))

How can I make it so it outputs: '1', '1', '1', '1', '1', '1', '1', '1'

I don't want this exact output this is just an example. Is this possible?

CodePudding user response:

I tried solving your question like this. I hope it fixes your problem.

repeat = 0
x = "1"

while repeat != 3:
    x = x   ","   x 
    repeat  = 1

print(x)

Basically, concatenating the strings.

Alternative answer:

repeat = 0
x = ["1"]

while repeat != 3:
    x = x   x
    repeat = repeat   1

print(x)

If you want a list of size n of just 1s

Here's how I did it:

n = 3 
y = ["1"]
x = y*n
print(x)

CodePudding user response:

More pythonic way is to use join to get the expected output. If you want to repeat it N times -

N = 8
char = '1'

result = "','".join(char * N)

If you want to continue using loop, just concatenate the character instead of creating tuple every time you iterate.

  • Related