如何获得多行输入?

时间:2019-10-15 10:46:02

标签: python python-3.x input

我试图让用户一次回答多个输入,而不是一次回答。

示例: 这要求用户一次输入一个

q1=input("question1: ")

q2=input("question2: ")

print(q1)

print(q2)

... question1: answer1
... question2: answer2

answer1
answer2

>>>

这就是我想做的。

q1=input("""
question1: 
question2: """)

print(q1)


...question1: answer1
   question2: answer2 

[answer1,answer2]

>>>

通过让用户立即输入所有输入内容,可以使他们看到所有问题,并且可以在确认输入内容之前进行更改。

我的最终目标是能够做到这一点:

q=input("""
url:
resolution:
audio only:
file type:
download location: 
""")
print(q)

...url: youtube.com/video
   resolution: 720p
   audio only: False
   file type: mp4
   download location: C:\videos

[youtube.com/video,720p,False,mp4,C:\videos]

编辑:

我知道如何获取多个输出并将它们连接到列表中。

多输出不是我的主要目标。

我的主要目标是一次全部输入,而不是一次输入。

编辑2:

如果有帮助,则输入可以采用其他形式,例如文本框/按钮或其他模块。 例: https://i.stack.imgur.com/deKOb.png

2 个答案:

答案 0 :(得分:1)

获取多个答案的简单方法:

print ("Enter the below details")
question = ["url:","resolution:","audio only:","file type:","download location:"]
answer = []
for q in question:
    answer.append(input(q))

print(answer)

输出: ['www.google.com', '720', 'False', 'mp4', 'c:\\videos']

答案 1 :(得分:0)

您可以创建独立的问题和答案列表。然后遍历问题以获取用户输入,并将用户输入添加到答案列表。

public function generateStatistics(string $dateFrom, string $dateTo, int $id)
{
    return Statistics::whereBetween('date', [$dateFrom, $dateTo])->where('user_id', $id)->get();
}

$statisticsTotal = $this->frontendRepository->generateStatistics($dateFrom, $dateTo, $request->user()->id);
$statisticsResultsTotal = [];

$period = CarbonPeriod::create($dateFromInput, '1 day', $dateToInput);
foreach ($period as $dt) {
    $date = $dt->format("Y-m-d");
    $count = 0;
    $count2 = 0;
    foreach ($statisticsTotal as $stat){
        if ($stat->date == $date){
            $count = $count + 1;
        }
    }
    array_push($statisticsResultsTotal, "$date|$count");
};