【发布时间】:2021-02-21 00:27:39
【问题描述】:
我有 4 个变量名为 eax、ebx、ecx 和 edx,它们中的任何一个都可以设置为这些变量中的任何一个:var1、var、var3 和 var4,但是它们被设置为字符串“varx”而不是 varx 的值,但每次只有一个需要修复。我一直在使用这个 if 语句:
if eax=="var1":
eax=var1
elif ebx=="var1":
ebx=var1
elif ecx=="var1":
ecx=var1
elif edx=="var1":
edx=var1
elif eax=="var2":
eax=var2
elif ebx=="var2":
ebx=var2
elif ecx=="var2":
ecx=var2
elif edx=="var2":
edx=var2
elif eax=="var3":
eax=var3
elif ebx=="var3":
ebx=var3
elif ecx=="var3":
ecx=var3
elif edx=="var3":
edx=var3
elif eax=="var4":
eax=var4
elif ebx=="var4":
ebx=var4
elif ecx=="var4":
ecx=var4
elif edx=="var4":
edx=var4
但我知道这是非常糟糕的做法。有没有办法让我压缩这个 if 语句?
谢谢。
【问题讨论】:
-
Stack Overflow 并不是学习基本编程技术的正确场所。
-
通常我会使用开关,但 python 没有它们。我不知道在哪里可以学习这些基本技术。如果您能将我重定向到学习这些的地方,我将不胜感激。
-
@KarlKnechtel 这似乎是一个特定的主题问题。我不确定它是否处于初学者级别。
-
你的问题不在于缺少“switch语句”;问题是你有一堆变量名,你想在选择适当的变量名后做类似的事情。试着想一个你听说过的数据结构,它可以将所有相关的值存储在一起,将名称与值相关联;并尝试想办法重复检查每个名称的常见过程。
-
@BrianMcCutchon 这类问题的问题在于,大量初学者会有相同的潜在误解或盲点,这会导致在完全不同的上下文中出现大量细微不同的问题。所有这些对下一个初学者都没有帮助,因为它们不容易被搜索到。并且标记为重复通常不起作用,因为a)可能只是没有规范的重复,b)初学者永远不会猜测要搜索的内容。
标签: python if-statement