python - 在 Python 中迭代地分配变量
问题描述
别介意占位符变量名;如何以我在这里尝试的方式分配给 D、E 和 F?
print("Input 3 search coordinates")
D, E, F, = 0, 0, 0
for axes in [[D, "Y"], [E, "X"], [F, "Z"]]:
while True:
try:
axes[0] = int(input("{}-Axis: ".format(axes[1])))
break
except:
print("No, a natural number!")
print(axes)
print(str(D) + str(E) + str(F))
最后这一点打印调试输出“000”,而不是输入,如“444”。我需要什么才能将输入分配给正在循环的列表中的变量(同时也不重复自己)?
解决方案
def get_input(axis):
while True:
user_input = input(f"{axis}-Axis: ")
try:
axis_int = int(user_input)
except ValueError:
continue
else:
break
return axis_int
print("Input 3 search coordinates")
x, y, z = [get_input(axis) for axis in "XYZ"]
推荐阅读
- android - wifi和蓝牙泛连接共存
- haskell - 比较使用 zip 创建的元组中的布尔值
- tsql - 调试模式下的 SQL Server 查询:查询表?
- firebase - 部署firebase功能时解析触发器错误找不到模块
- c# - 可空的
在实体中导致我的 linq 表达式出现问题 - reactjs - .map 函数中的 If/Else 反应
- angular - 加载时标记为已触摸的子表单组件 - 需要保持不变
- c# - 如何在 ResourceDictionary 中设置可用于背景属性的原色
- ionic-framework - Ionic3 - 电子邮件编辑器 - Object(...) 不是函数
- mysql - 使用条件检查重复从 Excel 导入 SQL