猿问

实现验证规则时的双重变量分配

有人可以解释为什么我必须输入我的“名字”两次吗?另外,如果你有小费。如果循环找不到任何匹配项,我希望用户再次输入名称。


import xlrd


def open_file(path):

    wb = xlrd.open_workbook(path)

    sheet = wb.sheet_by_index(0)


    while True:

        name = input("name: ")

        nbre_consulate = 1


        for row_num in range(sheet.nrows):

            row_value = sheet.row_values(row_num)


            if row_value[0] == name and row_value[1] == nbre_consulate:

                return int(row_value[2])


path = "imperator.xlsx"

open_file(path)


print(open_file(path))

在拥有我的row_value[3]. 我不明白为什么。


name: Spurius Lartius

name: Spurius Lartius

506

感谢您的任何提示!


慕容森
浏览 138回答 1
1回答

三国纷争

您必须输入您的姓名两次,因为您运行了整个函数两次。你看到你在哪里运行函数,然后用 print 语句做同样的事情吗?您看到的值不仅是打印出来的,而且是由您在 print 语句中运行函数的位置生成的。你可以做些什么来修复它,当你运行它时将它分配给一个变量,然后像这样单独打印变量:path = "imperator.xlsx"row_value_3 = open_file(path)print(row_value_3)
随时随地看视频慕课网APP

相关分类

Python
我要回答