我一直在研究一些竞赛样题,目前我正被困在其中一个问题上。这叫做时间解压,两个朋友找到了一种互相发送加密代码的方法。下面的函数要求用户输入 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。
添加回答
举报
0/150
提交
取消