如何用循环改变变量名中的字母?

写代码写的好烦
这些代码十分相似,我却只能复制粘贴十几遍,修改每一行细微的不同之处,担心漏了哪处,而不知道如何用双层for循环实现。
放到更高一维的数组然后用cue(1)到cue(4)代替hcue、fcue、scue、mcue并不可行,因为虽然我会对它们执行相同的操作,但这四个变量的数据类型完全不同。

img

思路:


1、可以用字符串格式化,如Python的占位符、新式字符串格式化、插值字符串格式等,实现有相同字符串的变量名遍历。

2、可以调用内置函数对字符串还原成对象,如Python的eval()。


  由于我只会点Python,只能给出Python代码示例。我想,其他语言也是可以用这个“思想”实现的。


Python 代码示例

#!/sur/bin/nve python
# coding: utf-8


char = 'hfsm'
hcue, fcue, scue, mcue = '286', '386', '486', 'win95'

for i in char:
    print(f"{i}cue")


for i in char:
    print(eval(f"{i}cue"))

代码截屏图片

img

代码运行效果截屏图片

img


  如截屏图片可见,遍历轮询,用字符串格式化,可以打印出变量名字符串。当用veal()函数把字符串还原成Python对象后,就可以打印出变量名所指向的值了。