Python I';我对如何从用户输入中打印多个输出有问题

Python I';我对如何从用户输入中打印多个输出有问题,python,python-3.x,Python,Python 3.x,我是一个编程新手,被设定了一个任务,我必须向用户询问姓名和号码。我必须打印姓名,每个字母都打印在单独的一行上。第二部分是,我必须要求用户输入一个数字,然后它将根据用户给定的数字重复相同的输出 我的代码: name = input("Please enter your name:") num = input("Please enter a number:") for index,letter in enumerate(name,1): for num

我是一个编程新手,被设定了一个任务,我必须向用户询问姓名和号码。我必须打印姓名,每个字母都打印在单独的一行上。第二部分是,我必须要求用户输入一个数字,然后它将根据用户给定的数字重复相同的输出

我的代码:

name = input("Please enter your name:")
num = input("Please enter a number:")
for index,letter in enumerate(name,1):
    for num in range(0,9):
    print(letter)
我期望的结果是:

Please enter your name: Taki
Please enter a number: 3
T
a
k
i
T
a
k
i
T
a
k
i
Please enter your name: Taki
Please enter a number:3
T
T
T
T
T
T
T
T
T
a
a
a
a
a
a
a
a
a
k
k
k
k
k
k
k
k
k
i
i
i 
i
i
i
i
i
i
结果是:

Please enter your name: Taki
Please enter a number: 3
T
a
k
i
T
a
k
i
T
a
k
i
Please enter your name: Taki
Please enter a number:3
T
T
T
T
T
T
T
T
T
a
a
a
a
a
a
a
a
a
k
k
k
k
k
k
k
k
k
i
i
i 
i
i
i
i
i
i

Plz help

您的循环顺序错误。您的范围应该是到
num
而不是
9

name = input("Please enter your name:")
num = input("Please enter a number:")
for i in range(num):
    for letter in name:
        print(letter)

蛮力方法是

name = input('Enter a name: ')
num = int(input('Enter a number: '))
for i in range(num):
    for j in name:
        print(j)
这里,
name
是一个字符串,它在j循环中的每个字符上迭代

在代码中,从0到9的
num
循环是错误的。您需要打印
num
次,而不是9次(0-9)。因此,范围必须是
i in range(num)
。这就是为什么每个字符在输出中被打印9次


另外,记住将变量cast
num
转换为
int
,同时将输入作为Python默认情况下将所有输入作为字符串处理。

另一种方法是使用itertools:

import itertools 

count = 0
name = input("Please enter your name:")
num = int(input("Please enter a number:"))
for i in itertools.cycle(name): 
if count > num * len(name)-1: 
    break
else: 
    print(i, end = "\n") 
    count += 1