Строка увеличения мощности для калькулятора - PullRequest
0 голосов
/ 24 сентября 2019

Я начал с python несколько дней назад, я искал, есть ли более эффективный способ отображения строки увеличения мощности на моем калькуляторе, например: 2*2*2*2*2, я не могу удалить на основе символа, потому что это заменит всю строку iпредположим, что в настоящее время я конвертирую его в строку, удаляю последнее значение, основанное на длине строки, и снова присоединяю его к строке, может ли это быть сделано более эффективным способом?

strw = str(str(sumX) + "*") * sumY
l = list(strw)
del (l[len(strw) - 1])
strw = "".join(l)

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

использовать определение списка и .join () :

Вы можете умножить список на целое число n, чтобы повторить список n раз, пример:

n = 5
list_= [0] * n   # [0, 0, 0, 0, 0]

Метод join () берет все элементы в итерируемом и объединяет их в одну строку.

В качестве разделителя должна быть указана строка.

Синтаксис

string.join(iterable)
sumX = 2
sumY = 5

print ('*'.join([str(sumX)] * sumY))

Вывод:

2*2*2*2*2
0 голосов
/ 24 сентября 2019

Вы можете использовать str.join(...), чтобы сделать это в одной аккуратной строке кода:

'*'.join([str(sumX)] * sumY)

Это дает это, когда sumX=2 и sumY=3

>>> '2*2*2'

Вот ссылка на документ .Он работает, "соединяя" элементы итерируемого с '*'.

...