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

Python程序执行后不显示print输出即退出,PyCharm代码问题求助

解决你的PyCharm中Python程序无输出就关闭的问题

嘿,我来帮你搞定这个问题!你的代码里有两个核心问题导致了这个现象,咱们一步步拆解解决:

1. 变量作用域的坑

你在main_program()函数里写的services_array = [user_service]和passwords_array = [user_password],其实是创建了函数内部的局部变量,根本没修改你在函数外定义的全局空列表。所以当你调用show_inputs()时,传入的还是一开始的空列表,自然不会有任何print输出。

这里有两种靠谱的解决方式:

  • 方式一:在函数内用global声明要修改全局变量
  • 方式二:让函数返回收集到的内容,再赋值给全局变量(更推荐,避免全局变量滥用)

2. 程序跑完就自动关闭的问题

就算修复了变量问题,程序输出内容后也会立刻关闭窗口,你可能根本来不及看结果。可以在代码最后加一行等待输入的代码,让程序停住等你操作。

修改后的完整代码

services_array = []
passwords_array = []

def main_program():
    user_service = input("Il nome del servizio è: ")
    user_password = input("Inserisci la password: ")
    # 返回收集到的服务和密码,不再创建局部变量
    return [user_service], [user_password]

def show_inputs(services_array, passwords_array):
    for service in services_array:
        for password in passwords_array:
            print(f"{service} --------- {password}")

# 接收函数返回值,更新全局列表
services_array, passwords_array = main_program()
show_inputs(services_array, passwords_array)
# 等待用户输入,防止窗口瞬间关闭
input("按任意键退出...")

额外优化小建议

你的嵌套循环其实没必要(毕竟一个服务对应一个密码),用zip()遍历会更简洁:

def show_inputs(services_array, passwords_array):
    for service, password in zip(services_array, passwords_array):
        print(f"{service} --------- {password}")

这样修改后,你运行程序就能正常看到输出,窗口也会等你按任意键才关闭啦!

内容的提问来源于stack exchange,提问作者B.Soflau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:12:27