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.