为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用整数迭代列表中索引的值

如何使用整数迭代列表中索引的值

慕哥6287543 2021-06-10 18:58:06
class Planet:    def __init__(self, name, radius, system, gravity):        self.name=name        self.radius=radius        self.gravity=gravity        self.system=system    def orbit(self):        return(f'{self.name} is orbiting in the {name} system')planet_list=[]while True:    name = input('Enter the Planet\'s name: \n')    radius = int(input('Enter the Planet\'s radius: \n'))    gravity = int(input('Enter the Planet\'s gravity: \n'))    system = input('Enter the Planet\'s system: \n')    sub_list=[name,radius,gravity,system]    planet_list.append(sub_list)    again=input('\nAdd another planet? (Y/N): ')    if again.startswith('y') or again.startswith('Y'):        continue    elif again.startswith('n') or again.startswith('N'):        break    else:        print('I didn\'t quite catch that...')        continuedef planet_intro(dictionary):     for world in planet_list:        i=0        print(f'\nPlanet: {planet_list[i][0]}\nRadius: {planet_list[i][1]}\nGravity: {planet_list[i][2]}\nSystem: {planet_list[i][3]}\n')        i+=1planet_intro(planet_list)我在这方面已经有一段时间了,但无论出于何种原因,我都无法声明一个整数并将该变量用作索引的值。我今天刚开始使用 Java,所以这可能是一个非常简单的修复方法,但我还没有弄清楚。因此,如果我运行它,它会为 中的多个列表重复相同的数据planet_list,而不迭代索引的值(更改打印的数据)。
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

你的迭代有点不正确。


用:


def planet_intro(planet_list):

     for world in planet_list:

        print(f'\nPlanet: {world[0]}\nRadius: {world[1]}\nGravity: {world[2]}\nSystem: {world[3]}\n')


查看完整回答
反对 回复 2021-06-29
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您的打印语句相同的原因是您需要采取i=0循环的外部(因为每次循环时,您都将重新设置i为0)。此外,您应该将其作为输入planet_list


def planet_intro(planet_list):

     i=0

     for world in planet_list:

        print(f'\nPlanet: {planet_list[i][0]}\nRadius: {planet_list[i][1]}\nGravity: {planet_list[i][2]}\nSystem: {planet_list[i][3]}\n')

        i+=1

您还可以使用 enumerate 迭代列表的项目并拥有索引。您的代码希望:


def planet_intro(planet_list):

     for i, world in enumerate(planet_list):

        print(f'\nPlanet: {planet_list[i][0]}\nRadius: {planet_list[i][1]}\nGravity: {planet_list[i][2]}\nSystem: {planet_list[i][3]}\n')

但我仍然认为 Rakesh 拥有最好的代码,所以我会选择他的。


查看完整回答
反对 回复 2021-06-29
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号