为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨__羊羊 2022-07-26 21:53:01
我一直在研究一些竞赛样题,目前我正被困在其中一个问题上。这叫做时间解压,两个朋友找到了一种互相发送加密代码的方法。下面的函数要求用户输入 L,这是要发送的代码数。对于 l 中的每一行,用户将被要求输入 N,字符,N 是一个数字。我想出了一种将 N 转换为循环范围的方法,该for循环将遍历每个 L,为每个 L 找到 N,然后多次打印出一个字符 N。问题是,它不是在同一行上打印,而是在每个 L 的新行上打印,而是在同一行上打印。输入:24、男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()谢谢您的帮助。
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

打印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。


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信