You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的Python循环打印整数而非字符串?新手代码问题求助

问题原因

你代码中遍历对象使用了range(20)生成的整数序列,而非存储了20个名字的new_boy_list,所以遍历拿到的自然是0到19的索引数字,不是你需要的名字内容。

修复方案

方案1:直接遍历列表元素(最适合当前场景)

直接迭代new_boy_list获取每个元素即可,修改后代码如下:

def user2_start():
    print(f"{user2} it's now your turn... get ready..." + "\n")
    # 直接遍历存储名字的列表
    for name in new_boy_list:
        print(name)
        user2_answer = input("y/n: ")
        if user2_answer == 'y':
            boy_list_2.append(name)
    print(boy_list_2)

方案2:通过索引取值(适合需要用到索引位置的场景)

如果你的逻辑需要用到当前名字对应的顺序索引,可以通过索引从new_boy_list中取出对应位置的元素:

def user2_start():
    print(f"{user2} it's now your turn... get ready..." + "\n")
    # 遍历列表长度对应的索引序列
    for index in range(len(new_boy_list)):
        name = new_boy_list[index]
        print(name)
        user2_answer = input("y/n: ")
        if user2_answer == 'y':
            boy_list_2.append(name)
    print(boy_list_2)
注意点
  • 原代码把print(boy_list_2)放在循环内的话,每选择一个名字就会打印一次列表,如果只需要最终输出结果可以把打印语句移到循环外。

内容的提问来源于stack exchange,提问作者edders79

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:24:03