【问题标题】:Syntax Error- Highlights a variable Python [closed]语法错误 - 突出显示变量 Python [关闭]
【发布时间】:2015-02-05 12:03:10
【问题描述】:

我是 Python 编码的初学者。我正在编写这段代码,应该让用户在几个表格中看到世界人口信息,然后几个选项只是男女比例最高和最低的句子,等等。

我遇到并修复了多个错误。我似乎无法修复的最后一个错误只是一个语法错误,但我不知道出了什么问题。它会弹出一个框,显示语法错误并突出显示我的局部变量bothSexes_total。显示的选项打印一个表格。

def main():
    print("Welcome user.") #greetings
    Ages0_14= open("Ages0-14.txt", "r") #open files needed
    Ages15_64= open("Ages15-64.txt", "r")
    Ages65= open("Ages65.txt", "r")
    countries, males0_14, females0_14= get_lists(Ages0_14) #makes 3 lists from 1st file
    empty, males15_64, females15_64= get_lists(Ages15_64) #2 lists from 2nd file
    empty2, males65, females65= get_lists(Ages65) #2 lists from 3rd file
    print_menu()
    choice= input("Type the letter of the choice you would like to make.") #user makes choice

    if choice== "A" or choice== "a": #option a: display country's information
        country_input= input("Choose a country you would like to know the population information of.")
        country=(countries.index(country_input) #find index of country

        # I get an error here:
        bothSexes_total=(int(females0_14[country])+ int(females15_64[country])+ int(females65[country])+ int(males0_14[country])+ int(males15_64[country])+ int(males65[country]))
            male_total=(males0_14[country]+ males15_64[country]+ males65[country]) #male total from all ages
            female_total=(females0_14[country]+ females15_64[country]+ females65[country]) #female total from all ages
            both0_14=(int(males0_14[country])+ int(females0_14[country])) #total of both sexes from 1st file
            both15_64=(int(males15_64[country])+ int(females15_64[country])) #total of both sexes from 2nd file
            both65=(int(males65[country])+ int(females65[country])) #total of both sexes from 3rd file
            print(format("Country","20s")+ format("Age","20s")+ format("Both Sexes","20s")+ format("Male","20s")+ format("Female","20s")+ format("%Both","20s")+ format("%Male","20s")+ format("%Female","20s")+ format("Male to Female Ratio","20s")) #headers
                                    #name                   age                     both sexes             males                              females                                  %both
            print(format(countries[country], "20s")+ format("Total","20s")+ format(bothSexes_total, "20d")+ format(male_total, "20d")+ format(female_total, "20d")+ format(100, "20d")+ format(100, "20d")+ format(100, "20d")+ format(male_total/ female_total) #total age groups                                                 %males                        %females                                                 ratio
            print(format(countries[country], "20s")+ format("0-14","20s")+ format(both0_14, "<20d")+ format(males0_14[country], "<20d")+ format(females0_14[country], "<20d")+ format(males0_14[country]+ females0_14[country])/totalSexes_both, "<20d")+ format((males0_14[country])/male_total, "<20d")+ format((females0_14[country])/female_total, "<20d")+ format((male0_14/female0_14)*100, "20d") #1st file
            print(format(countries[country], "20s")+ format("15-64","20s")+ format(both15_64, "<20d")+ format(males15_64[country], "<20d")+ format(females0_14[country], "<20d")+ format(males15_64[country]+ females15_64[country])/totalSexes_both, "<20d")+ format((males15_64[country])/male_total, "<20d")+ format((females15_64[country])/female_total, "<20d")+ format((male15_64/female15_64)*100, "20d") #2nd file
            print(format(countries[country], "20s")+ format("64+", "20s")+ format(both65, "<20d")+ format(males65[country], "<20d")+ format(females65[country], "<20d")+ format(males65[country]+ females65[country])/totalSexes_both, "<20d")+ format((males0_14[country])/male_total, "<20d")+ format((females0_14[country])/female_total, "<20d")+ format((male65/female65)*100, "20d") #3rd file

【问题讨论】:

    标签: python variables syntax


    【解决方案1】:

    您忘记关闭上一行的括号。

    【讨论】:

    • 更具体地说,country=(countries.index(country_input) 有 2 个开括号和一个闭括号。
    【解决方案2】:

    请记住,在 python 中,每当它返回错误并突出显示特定的单词/短语时,错误很可能出现在突出显示的内容之前。所以说我有:

    name = input("enter your name"
    
    print(name)
    

    print 被突出显示然后错误是之前的错误,如您所见,我忘记关闭输入函数的括号。

    希望对你有帮助

    ~bobbeh

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      • 2013-01-25
      • 2018-08-25
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多