Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表切片无法使用';在';操作人员_Python_List_File_Python 3.x_Slice - Fatal编程技术网

Python列表切片无法使用';在';操作人员

Python列表切片无法使用';在';操作人员,python,list,file,python-3.x,slice,Python,List,File,Python 3.x,Slice,我目前正在做一些家庭作业,我将两个文本文件(每个文件中有200个名字)加载到两个不同的列表中,一个是男孩的名字,一个是女孩的名字(忽略女孩的名字,因为我还没有完成男孩的名字)。 我想让用户输入一个名称,然后显示该名称的流行程度。所以我使用切片将列表中的前50个名字设置为流行,最后50个名字设置为不流行。然而,在if语句中,无论输入什么,它总是转到else子句。将男孩列表[0-51]设置为popularBoys显然有问题,但我不确定是什么问题,也不知道如何解决 def main(): op

我目前正在做一些家庭作业,我将两个文本文件(每个文件中有200个名字)加载到两个不同的列表中,一个是男孩的名字,一个是女孩的名字(忽略女孩的名字,因为我还没有完成男孩的名字)。 我想让用户输入一个名称,然后显示该名称的流行程度。所以我使用切片将列表中的前50个名字设置为流行,最后50个名字设置为不流行。然而,在if语句中,无论输入什么,它总是转到else子句。将男孩列表[0-51]设置为popularBoys显然有问题,但我不确定是什么问题,也不知道如何解决

def main():
    openBoyFile = open('BoyNames.txt', 'r')
    readBoyNames = openBoyFile.readlines()
    openBoyFile.close()

    boyList = [readBoyNames]

    #remove \n
    index = 0
    while index < len(readBoyNames):
        readBoyNames[index] = readBoyNames[index].rstrip('\n')
        index += 1

    print('Boy names: ', boyList)


    openGirlFile = open('GirlNames.txt', 'r')
    readGirlNames = openGirlFile.readlines()
    openGirlFile.close()

    girlList = [readGirlNames]

    index2 = 0
    while index2 < len(readGirlNames):
        readGirlNames[index2] = readGirlNames[index2].rstrip('\n')
        index2 += 1

    print('')
    print('Girl names: ', girlList)



    popularBoys = boyList[0:51]
    notSoPopularBoys = boyList[52:151]
    totallyNotPopularBoys = boyList[152:200]

    print('')
    boyNameInput = input('Enter a boy name to check how popular it is: ')

    if boyNameInput in popularBoys:
        print('The name entered is among the 50 most popular!')

    elif boyNameInput in notSoPopularBoys:
        print('The name entered is not so pouplar. Among 51 - 150 on the list.')

    elif boyNameInput in totallyNotPopularBoys:
        print('The name entered is not popular at all. Among 151-200 on the list.')

    else:
        print('Not a name on the list.')


main()
def main():
openBoyFile=open('BoyNames.txt','r')
readBoyNames=openBoyFile.readlines()
openBoyFile.close()
男孩列表=[readBoyNames]
#删除\n
索引=0
而索引
问题在于以下两行:

boyList = [readBoyNames]
girlList = [readGirlNames]
readBoyNames
readGirlNames
已经是列表。您正在创建一个包含另一个列表的列表。 如果你把这两行改成

boyList= readBoyNames
girlList= readGirlNames

它可以正常工作。

问题在于以下两行:

boyList = [readBoyNames]
girlList = [readGirlNames]
readBoyNames
readGirlNames
已经是列表。您正在创建一个包含另一个列表的列表。 如果你把这两行改成

boyList= readBoyNames
girlList= readGirlNames

它可以正常工作。

问题在于以下两行:

boyList = [readBoyNames]
girlList = [readGirlNames]
readBoyNames
readGirlNames
已经是列表。您正在创建一个包含另一个列表的列表。 如果你把这两行改成

boyList= readBoyNames
girlList= readGirlNames

它可以正常工作。

问题在于以下两行:

boyList = [readBoyNames]
girlList = [readGirlNames]
readBoyNames
readGirlNames
已经是列表。您正在创建一个包含另一个列表的列表。 如果你把这两行改成

boyList= readBoyNames
girlList= readGirlNames

它可以正常工作。

根据您的描述,这不可能是您的问题,但请注意Python切片
[a:b]
返回在
a
索引的元素,直到并包括
b-1
,而不是
b
。根据您的描述,这不可能是您的问题,但请注意Python切片
[a:b]
返回在
a
索引到并包括
b-1
的元素,而不是
b
。根据您的描述,这可能不是您的问题,但请注意,Python切片
[a:b]
返回在
a
索引到并包括
b-1
的元素,而不是
b
,这不太可能是您的问题,但请注意,Python切片
[a:b]
返回在
a
索引的元素,直到并包括
b-1
,而不是
b