鱼C论坛

 找回密码
 立即注册
查看: 2950|回复: 7

[已解决]变量名的问题

[复制链接]
发表于 2022-12-26 13:33:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么达到类似下面的效果啊,不想一个一个打,好几百个,太累了
  1. block1 = 1
  2. block2 = 2
  3. block3 = 3
  4. .......
复制代码
最佳答案
2022-12-26 13:55:04

如果你是想打印出这种结果,可以参考楼上的代码

如果你是想真实的进行赋值,可以使用 exec 函数,参考代码:

  1. for i in range(1, 10):
  2.     exec(f"block{i} = {i}")

  3. print(block1)
  4. print(block5)
  5. print(block9)
复制代码


输出结果:

  1. 1
  2. 5
  3. 9
复制代码


也就是将 print 函数换成 exec 函数即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-26 13:40:07 | 显示全部楼层

  1. #!/usr/bin/env python
  2. #coding=utf-8

  3. for i in range(1, 10):
  4.     print(f"block{i} = {i}")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-26 13:55:04 | 显示全部楼层    本楼为最佳答案   

如果你是想打印出这种结果,可以参考楼上的代码

如果你是想真实的进行赋值,可以使用 exec 函数,参考代码:

  1. for i in range(1, 10):
  2.     exec(f"block{i} = {i}")

  3. print(block1)
  4. print(block5)
  5. print(block9)
复制代码


输出结果:

  1. 1
  2. 5
  3. 9
复制代码


也就是将 print 函数换成 exec 函数即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-26 13:56:28 | 显示全部楼层
  1. for i in range(1,11):
  2.     locals()["block"+ str(i)] = i
  3.   
  4. block1
  5. 1
  6. block2
  7. 2
  8. block10
  9. 10
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-26 14:03:24 | 显示全部楼层
当你需要定义几百个相似的变量时,你应该考虑使用循环的方式往列表储存变量值,使用时使用循环的方式从列表取值,定义几百个相似变量实在太不优雅了
  1. blocks = [1, 2, 3]
  2. for b in blocks:
  3.     print(b)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-26 14:38:27 | 显示全部楼层
Twilight6 发表于 2022-12-26 13:55
如果你是想打印出这种结果,可以参考楼上的代码

如果你是想真实的进行赋值,可以使用 exec 函数,参考 ...

问题解决了,但我用的pycharm,他就在print里的block1,5,9那显示这个    unresolved reference,有解决方法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-26 15:29:24 | 显示全部楼层
1222331231 发表于 2022-12-26 14:38
问题解决了,但我用的pycharm,他就在print里的block1,5,9那显示这个    unresolved reference,有解决 ...



没事,PyCharm 检测不到你前面定义了这些变量,导致出现错误提示,无视它就行

或者直接在设置里面关了,但是建议还是不用关吧

毕竟编辑器的检测语法有的时候确实能帮助我们在运行程序之前找到一些不易察觉的错误

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-26 16:38:46 | 显示全部楼层
Twilight6 发表于 2022-12-26 15:29
没事,PyCharm 检测不到你前面定义了这些变量,导致出现错误提示,无视它就行

或者直接在设置里面 ...

好的谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 07:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表