增加input()

时间:2018-07-09 15:38:03

标签: python python-3.x

我的代码中有一个用户输入,它整齐地出现在终端中:

data_class = input('''What class do you want to assign to this data?
                            1   -   %s
                            2   -   %s
                            3   -   %s
                            4   -   %s
                            5   -   %s
                            6   -   %s
                            7   -   %s
                            8   -   %s
                            9   -   %s
                            10  -   %s
                            ''' % tuple(usb_paths))

我想知道的是,是否有任何办法通过创建整数递增的循环来缩短这段代码?

类似的东西(我知道这没有道理,但是..):

while i < len(usb_paths):
    data_class = input('''What class do you want to assign to this data?
                                i   -   %s
                                ''' % tuple(usb_paths))
    i += 1

这样,如果我向usb_paths添加一些新元素,它将正确增加输入中的参数数量。当前,如果usb_paths中的路径数量增加,我必须添加以下内容:

...
                            11  -  %s
                            ''' % tuple(usb_paths))

我正在使用这种方法,因为它在终端中显示得很整洁,欢迎提供任何有关如何在终端中以类似的缩进方式以编程方式实现此目的的建议。

1 个答案:

答案 0 :(得分:0)

您可以只使用for循环和字符串串联:

message = ""
for i in range(len(usb_paths)):
    message += str(i) + " - %s\n"

data_class = input(message)

这将从0开始而不是1。如果希望它从1开始,则可以将呼叫调整为range