猿问

如何遍历列表中的元素,在一行中打印相同的元素,在其他行中打印不同的元素等等?

我一直在研究一些竞赛样题,目前我正被困在其中一个问题上。这叫做时间解压,两个朋友找到了一种互相发送加密代码的方法。下面的函数要求用户输入 L,这是要发送的代码数。对于 l 中的每一行,用户将被要求输入 N,字符,N 是一个数字。我想出了一种将 N 转换为循环范围的方法,该for循环将遍历每个 L,为每个 L 找到 N,然后多次打印出一个字符 N。


问题是,它不是在同一行上打印,而是在每个 L 的新行上打印,而是在同一行上打印。


输入:


2


4、男


8, =


预期输出:


嗯嗯


========


我得到什么:


MMMM========


def time_decompress():

l = int(input())

a_list = []

store_list = []

lastchar = [0]

for i in range(l):

    b = input().split(" ")

    a_list.append(b)

for item in a_list:

    for i in range(int(item[0])):

        print(item[1], end = "")


time_decompress()

谢谢您的帮助。


杨__羊羊
浏览 195回答 1
1回答

江户川乱折腾

打印item[1]请求的次数后(在for循环内),您必须打印一个换行符。for item in a_list:    for i in range(int(item[0])):        print(item[1], end = "")    print("")另一种解决方案,不使用循环:for item in a_list:    print(item[1]*int(item[0]))这是有效的,因为在 python 中,将一个字符串乘以一个数字会重复该字符串很多次。例如。'a' * 5结果aaaaa。
随时随地看视频慕课网APP

相关分类

Python
我要回答