在python中为两个不同的测试用例获取输入

在python中为两个不同的测试用例获取输入,python,python-3.x,Python,Python 3.x,在python中使用不同的测试用例时,我面临着一个问题 测试用例1:我必须在不同的行中取两个字符串 测试用例2:我必须在同一行中取两个字符串 如果我将代码写入第一个测试用例,则第二个测试用例未执行;如果我将代码写入第二个测试用例,则第一个测试用例未执行 我在c/c++14中尝试了这两个测试用例,它们都非常完美,没有任何错误,但在Python3.7中它显示了错误 这是针对测试用例1的 s1=input() s2=input() 这是针对测试用例2的 s1,s2=input().split()

在python中使用不同的测试用例时,我面临着一个问题

  • 测试用例1:我必须在不同的行中取两个字符串
  • 测试用例2:我必须在同一行中取两个字符串
如果我将代码写入第一个测试用例,则第二个测试用例未执行;如果我将代码写入第二个测试用例,则第一个测试用例未执行

我在c/c++14中尝试了这两个测试用例,它们都非常完美,没有任何错误,但在Python3.7中它显示了错误

这是针对测试用例1的

s1=input()
s2=input()
这是针对测试用例2的

s1,s2=input().split()

如何为这两个测试用例编写代码以获得满足

您可以捕获尝试解包太少元素的错误,并请求另一个输入:

def get_inputs():
    s1 = input()
    try:
        s1, s2 = s1.split()
    except ValueError:
        s2 = input()
    return s1, s2

您可以通过尝试解压缩太少的元素来捕获错误,并请求其他输入:

def get_inputs():
    s1 = input()
    try:
        s1, s2 = s1.split()
    except ValueError:
        s2 = input()
    return s1, s2