list1 = [6,1,3]
for item in list1:
result = ""
for y in range(item):
result += "*"
print(result)这将在控制台中输出:
******
*
***问题是,是否有可能有一个更简单的代码(简化)来完成这个任务?我是这里的新手,对python很抱歉,如果这不是一个很难的问题,谢谢你的理解
请不要说:
print("******\n*\n***")发布于 2022-07-23 06:31:38
print('\n'.join('*'*i for i in (6,1,3)))发布于 2022-07-23 06:34:41
当然你可以
for i in list1:
print(i*'*')发布于 2022-07-23 06:41:35
在Python中,可以使用*操作符重复指定次数的字符串。所以:
"Python" * 3或
3 * "Python"给予:
"PythonPythonPython"您可以编写一个函数来生成模式:
def generate_pattern(frequencies, pattern = '*'):
lines = (pattern * i for i in frequencies)
return lines或者:
def generate_pattern(frequencies, pattern = '*'):
return map(lambda f: f * pattern, frequencies)然后你可以像这样使用它:
lines = generate_pattern([6, 1, 3])print(*lines, sep="\n")或
for line in generate_pattern([6, 1, 3]):
print(line)您还可以传递一个自定义字符串:
lines = generate_pattern([6, 1, 3], pattern="#")https://stackoverflow.com/questions/73088537
复制相似问题