如何使用同一个句子打印多个变量而不重写句子?

2024-04-30 04:57:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有数字的txt文件。你知道吗

每对数字都是“一个case”(例如21\n 3\n 45\n 7\n213将是一个case,457将是另一个case,依此类推)。你知道吗

有十个箱子。我编写了一个Python脚本,可以读取txt文件并将其中的字符串转换为整数,它们就是整数。你知道吗

现在我需要打印一个句子,每个案例的第一个数字和第二个数字。我不想写十句话,有没有办法修复这个代码

file = open('problemCases.txt', 'r')
fileLst = file.readlines()

fileLst = [int(i) for i in fileLst]


def main():
    lst = []
    probCase = (fileLst[0], fileLst[1])
    lst.append(probCase)
    probCase = (fileLst[2], fileLst[3])
    lst.append(probCase)
    probCase = (fileLst[4], fileLst[5])
    lst.append(probCase)
    probCase = (fileLst[6], fileLst[7])
    lst.append(probCase)
    probCase = (fileLst[8], fileLst[9])
    lst.append(probCase)
    probCase = (fileLst[10], fileLst[11])
    lst.append(probCase)
    probCase = (fileLst[12], fileLst[13])
    lst.append(probCase)
    probCase = (fileLst[14], fileLst[15])
    lst.append(probCase)
    probCase = (fileLst[16], fileLst[17])
    lst.append(probCase)
    probCase = (fileLst[18], fileLst[19])
    lst.append(probCase)

    # case 1
    print(
        "If together they have ",
        lst[0][0],
        " shirts, and Dude1 has ",
        lst[0][1],
     " more shirts than Dude2.")
    print("Dude1 has: ", (lst[0][0]-lst[0][1])/2+lst[0][1])
    print("Dude2 has: ", (lst[0][0]-lst[0][1])/2)

Tags: 文件txt数字整数filehascaseprint
1条回答
网友
1楼 · 发布于 2024-04-30 04:57:10

环路很棒

要建立你的列表,只需在输入上循环一次,步长为2

lst = []
for i in xrange(0, len(fileLst), 2):
    lst.append((fileLst[i], fileLst[i + 1]))

编辑:

正如Kevin所建议的,我们还可以利用迭代器来避免烦人的(毕竟这是python)列表索引:

for i, j in enumerate(range(1, len(fileLst)+1)): 
    lst.append(fileLst[i], fileLst[j])

你可以对你的指纹使用类似的逻辑

相关问题 更多 >