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

为什么无法在Python中同一行同时定义两个变量g和h?

代码无法实现预期效果的原因
  • 双变量同时赋值属于序列解包操作,要求等号右侧的可迭代对象元素数量和左侧变量数完全一致。你当前代码中eval(input("enter an integer: "))如果接收到的是单个整数输入,返回的是独立的int类型值,不属于长度为2的可迭代对象,无法完成解包,会直接抛出值错误。
  • 输入提示存在逻辑问题,提示文本为「enter an integer(输入一个整数)」,用户只会按照提示输入单个值,不可能满足双变量解包的要求。
  • 即便刻意输入两个值,也必须严格符合Python的语法格式,比如输入2,3或者(2,3)才能被eval()识别为长度为2的元组,如果输入用空格分隔的2 3,eval()会直接抛出语法错误,运行失败。
更稳妥的实现方案

想要实现一行输入两个整数赋值给g、h,推荐使用split()拆分输入,避免eval()带来的代码注入风险:

# 提示用户输入空格分隔的两个整数
g, h = map(int, input("enter two integers separated by space: ").split())
print(g, h)

运行后输入空格分隔的两个整数即可完成赋值,容错性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:27:04