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

如何将输入变量{i1}传递至程序执行环节并实现跨代码块调用

问题解决:让输入变量i1在后续代码中可用

首先,你的代码里i1的赋值存在错误,导致它无法正确存储输入的数值:

i1 = print(int(input("Enter_number: "))) 

print()函数的返回值是None,所以这里i1实际被赋值为None,而非你输入的数字。正确写法是先获取输入值,按需打印:

i1 = int(input("Enter_number: "))
print(i1)  # 若需要展示输入值则保留该行

关于变量作用域

在Python中,只要变量在全局作用域(你的代码无嵌套函数/类,属于全局作用域)定义,后续所有代码块都能直接访问它。修正i1的赋值后,后续代码里直接调用i1就能使用这个变量的值。

顺便修正代码里的其他语法错误

你的for-else块语法不正确,两种修正方案如下:

方案1:直接判断列表是否为空

from pathlib import Path 
Path('menu_17').mkdir(exist_ok=True)
my_folder = Path("./menu_17")
menu_file = my_folder / "menu1.txt"
menu_file.write_text('Show_all_task\nAdd_a_task\nMark_the_task_as_completed\nDelete_task\nGo_out')

with open(menu_file, 'r') as file:
    lines1 = file.readlines()
    for i, line in enumerate(lines1, 1):     
        print(f"{i}. {line.strip()}")

# 修正i1的赋值
i1 = int(input("Enter_number: "))
print(i1)

all_task = my_folder / "all_task1.txt" 
with open(all_task, 'r') as file:
    lines_a = file.readlines()

# 处理任务列表为空的情况
if not lines_a:
    print('EMPTY')
else:
    for b, line in enumerate(lines_a, 1):
        print(f"{b}. {line.strip()}")

方案2:正确使用for-else语法

当for循环未迭代任何元素时,会执行else块:

from pathlib import Path 
Path('menu_17').mkdir(exist_ok=True)
my_folder = Path("./menu_17")
menu_file = my_folder / "menu1.txt"
menu_file.write_text('Show_all_task\nAdd_a_task\nMark_the_task_as_completed\nDelete_task\nGo_out')

with open(menu_file, 'r') as file:
    lines1 = file.readlines()
    for i, line in enumerate(lines1, 1):     
        print(f"{i}. {line.strip()}")

# 修正i1的赋值
i1 = int(input("Enter_number: "))
print(i1)

all_task = my_folder / "all_task1.txt" 
with open(all_task, 'r') as file:
    lines_a = file.readlines()

for b, line in enumerate(lines_a, 1):
    print(f"{b}. {line.strip()}")
else:
    # 当lines_a为空时,循环无迭代,直接执行此块
    print('EMPTY')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 04:12:05