计算Python程序以按字母顺序显示以下输出以及原始13个状态

问题描述 投票:0回答:1

States.txt文件包含美国50个州的加入顺序。使用for循环编写一个程序,以字母顺序显示以下输出以及原始13个状态。

States.txt文件中的内容:特拉华州宾夕法尼亚州新泽西州佐治亚州康乃狄克州马萨诸塞州马里兰州南卡罗来纳新罕布什尔维吉尼亚州纽约北卡罗来纳罗德岛佛蒙特肯塔基州田纳西州俄亥俄路易斯安那州印第安那州密西西比州伊利诺伊州阿拉巴马州缅因州密苏里州阿肯色州密西根州佛罗里达德州爱荷华州威斯康星州加利福尼亚州明尼苏达州俄勒冈州堪萨斯州西弗吉尼亚内华达州内布拉斯加科罗拉多州北达科他州南达科他州蒙大拿华盛顿州爱达荷州怀俄明州犹他州俄克拉荷马州新墨西哥亚利桑那阿拉斯加州夏威夷

我当前的编码:

infile = open("States.txt", 'r')
states = [line.rstrip() for line in infile]
states.sort()      # I sort those 50 states in alphabetical order first
for state in states:
    print("\r", states[6],"\n",states[7], "\n", states[9], "\n", states[19], "\n", states[20], "\n", states[28], "\n", states[29], "\n", states[31], "\n", states[32], "\n", states[37], "\n", states[38], "\n", states[39], "\n", states[45], end="")   #I locate exact position of those 13 states
    break
infile.close()

尽管我可以使用上面的编码显示预期的输出,但是绝对不是使用for循环功能的好方法,因为我仍然可以在没有for循环语句的情况下显示确切的结果。

程序的预期输出:(需要以垂直方式显示13个状态)康乃狄克州特拉华州佐治亚州马里兰州马萨诸塞州新罕布什尔新泽西州纽约北卡罗来纳宾夕法尼亚州罗德岛南卡罗来纳弗吉尼亚

python python-3.x list for-loop
1个回答
0
投票

因此,如果第一个列表包含50个状态,并且您应该按排序顺序输出13个状态,我想您可以创建一个包含13个关键状态的列表,并且在您的for循环中,您可以检查状态是否为一个其中的一个,只有在打印为true时才可以?


0
投票

您可以使用slicing进行states的前13个条目的排序:

infile = open("States.txt", 'r')
states = [line.rstrip() for line in infile]
original_states = states[:13]
original_states.sort()
for state in original_states:
    print(state)
infile.close()
© www.soinside.com 2019 - 2024. All rights reserved.