我已经完成了编写程序的任务,该程序可以打印' 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
在此之后我有点迷茫。 任何有关此任务的指导都将非常感谢! 谢谢!
答案 0 :(得分:4)
在python中你可以简单地做
def my_string(size):
out_string = ('yn' * size)[:size]
return out_string
答案 1 :(得分:0)
试试这个:
def my_string(size):
times = 0
current_print = ""
while times < length:
current_print += ("y", "n")[times % 2]
你也可以使用list-comprehension:
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))
答案 2 :(得分:0)
这样可以解决问题:
def my_string(size):
if size % 2 == 0:
return 'yn' * (size / 2)
else:
return 'yn' * (size / 2) + 'y'
如果尺寸是偶数,我们打印'yn'size/2
次。
如果大小是奇数,我们打印'yn'size/2
次加上另一个'y'。