首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的代码在运行时没有改变?

为什么我的代码在运行时没有改变?
EN

Stack Overflow用户
提问于 2021-05-13 09:07:53
回答 2查看 30关注 0票数 1

如果我没有遵循更有经验的用户可能知道的特定格式,我向您道歉。我刚刚开始了我的Python之旅,有一个非常简单的问题,想要在这里为未来做好准备。

我开始学习"Python速成课程“,并开始编写一个简单的程序,从列表中挑选人员并邀请他们共进晚餐。接下来的几个步骤让您使用相同的列表来做一些其他的事情。

因此,我使用.pop()从列表中提取并打印使用该名称的语句,然后将使用的名称附加到一个新的列表中。当我运行它时,一切似乎都运行得很好,但我期望代码中的实际列表被修改。因此,如果我再次运行它,那么下一个名字就是拉出邀请并添加到列表中。

我想我的问题是,代码实际上改变了你运行的内容,还是仅仅是输出?在我看来,它只是输出。第二个问题是,我真的能完成我想要做的事情吗?

代码语言:javascript
复制
guests = ['Dennis', 'Mac', 'Charlie', 'Dee', 'Frank']
invited = []

guest_invite = guests.pop()

print(f"{guest_invite.title()} you are cordially invited to dinner in hell.")

print(guests)

invited.append(guest_invite)

print(invited) 

提前感谢所有人的帮助。希望我没有把这篇文章搞得一团糟。

EN

回答 2

Stack Overflow用户

发布于 2021-05-13 09:16:16

如果我没理解错的话,你想在给定的邀请列表中显示每个人。为此,我建议使用范围循环,这将帮助我们迭代邀请列表。这比使用for循环要好,因为我们需要修改邀请列表。下面的代码就可以解决这个问题了。

代码语言:javascript
复制
guests = ['Dennis', 'Mac', 'Charlie', 'Dee', 'Frank']
invited = []
for guest in range(len(guests)):
    guest_invite = guests[guest]

    print(f"{guest_invite} you are cordially invited to dinner in hell.")
    invited.append(guest_invite)
print(f'All of the following are invited: {invited}')

输出

代码语言:javascript
复制
Dennis you are cordially invited to dinner in hell.
Mac you are cordially invited to dinner in hell.
Charlie you are cordially invited to dinner in hell.
Dee you are cordially invited to dinner in hell.
Frank you are cordially invited to dinner in hell.
All of the following are invited: ['Dennis', 'Mac', 'Charlie', 'Dee', 'Frank']
票数 0
EN

Stack Overflow用户

发布于 2021-05-13 10:39:36

我认为根据对前面答案的反馈和你最初的问题,你似乎想要的东西是这样的:

代码语言:javascript
复制
guests = ['Dennis', 'Mac', 'Charlie', 'Dee', 'Frank']
guest_counter = 0 #Counts number of guests invited

for guest in guests:
    print("Guests Invited: ", guests[:guest_counter]) #Uses string slicing to non-destructively mention already invited guests by moving slicing counter +1
    print(guest, " you are cordially invited to dinner in hell.")
    guest_counter += 1

print("Guests Invited: ", guests[:guest_counter])

它使用一种叫做字符串切分的东西(如果你还没有达到这种熟练程度,就用谷歌搜索它)来非破坏性地提到被邀请者,所以你总是有你的原始列表供以后参考!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67512729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档