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

Python3如何使用for循环打印动态拼接名称对应的变量实际值

问题原因

你当前代码里的listofurl = "ip" + str(i)只是生成了"ip1"、"ip2"这类字符串字面量,并没有读取对应变量中存储的实际IP值,所以输出结果会是字符串拼接后的内容而非你输入的IP。

推荐修改方案(符合Python最佳实践)

建议直接把输入的IP存入列表,既可以简化前面重复的输入逻辑,也能直接循环遍历列表拿到IP值,完整修改后的代码如下:

def hostFile():
    hostConf = projdateprojname[9:]
    # 定义IP输入对应的提示语
    ip_prompts = [
        "\n\tEnter legacy host IP",
        "\n\tEnter legacy guest IP",
        "\n\tEnter legacy host IP",
        "\n\tEnter legacy guest IP"
    ]
    # 循环输入并存入列表
    ip_list = []
    for prompt_text in ip_prompts:
        print(prompt_text)
        ip = input(prompt)
        ip_list.append(ip)
    
    print(f"\n[{hostConf}-1]")
    for ip in ip_list:
        print(ip)
    # 循环打印带前缀的URL
    for ip in ip_list:
        print(f"https://{ip}")
临时兼容方案(不改动原有变量定义)

如果你不想修改前面ip1~ip4的变量定义,可以用locals()内置函数读取当前作用域的变量值,仅修改最后一段循环代码即可:

for i in range(1, 5):
    # 读取对应变量名的实际值
    ip_val = locals()[f"ip{i}"]
    print(f"https://{ip_val}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:48:04