同时打印 x 次 - Python

Simultaneously printing x number of times - Python

我接到了一项任务,要编写一个程序来打印 'y' 和 'n' 指定的次数。我们必须使用提供的起始代码;

def my_string(size):
    #Code here...
    return out_string

print(my_string(3))  #Would print 'yny'
print(my_string(8))  #Would print 'ynynynyn'

但是我不知道从哪里开始。

我想过循环添加到 运行 总数,直到达到那个数字,然后它会创建一个字符列表,然后打印出来,但这似乎是个问题,因为我无法弄清楚如何获得所需的字符串长度。:-L

def my_string(size):
    length = size
    times = 0
    current_print = [ ] 
    while times != length:
        current_print.append("y")
        times = times + 1
        current_print.append("n")
        times = times + 1

    return out_string

在这一点之后我有点迷路了。 对此任务的任何指导将不胜感激! 谢谢!

在python中你可以简单地做

def my_string(size):
    out_string = ('yn' * size)[:size]
    return out_string

试试这个:

def my_string(size):
    times = 0
    current_print = ""
    while times < length:
        current_print += ("y", "n")[times % 2]

您还可以使用列表理解:

def my_string(size):
    return "".join(("y", "n")[x % 2] for x in range(size))

另一个选项:

def my_string(size):
    return ("yn" * (size // 2)) + ("y" * (size % 2))

这样做就可以了:

def my_string(size):
    if size % 2 == 0:
        return 'yn' * (size / 2)
    else:
        return 'yn' * (size / 2) + 'y'

如果 size 是偶数,我们打印 'yn' size/2 次。 如果 size 是奇数,我们打印 'yn' size/2 次加上另一个 'y'.