新手求助:Python代码无法运行/耗时久,仅Colab加载后可运行
问题分析与修复
你的代码核心问题是多余的for循环:
- 你遍历
greetme.items(),但循环内的language变量被input直接覆盖,遍历得到的键值对完全没发挥作用 - 这个for循环最多执行3次(对应字典的3个键值对),如果用户连续3次输入错误,程序会直接终止,不会继续提示输入
冗余的循环逻辑可能导致环境(比如Colab)出现不必要的资源消耗,进而引发加载耗时的问题。
修正后的代码
greetme = {'fr': 'bonjour', 'en': 'hi', 'es': 'hola'} while True: language = input('What is your preferred language? ') if language in greetme: print(greetme[language]) break else: print('selection not in database, try again')
修正说明
- 用
while True替代多余的for循环,实现无限循环直到用户输入正确的语言代码 - 去掉了无用的
continue(else分支执行后会自动进入下一次循环) - 逻辑更清晰,避免了冗余的遍历操作,也消除了输入次数限制的问题
内容的提问来源于stack exchange,提问作者effed analytics
相关产品推荐
相关产品推荐

