我在用Python编写棋盘游戏专卖版。垄断有三种类型的土地,玩家可以购买:财产(如木板路),铁路和公用事业。房产的购买价格和租金在6种情况下都是可变的(0-4套房子或一家酒店)。铁路和公用事业有一个固定的价格和租金根据多少其他铁路或公用事业你拥有。

我有一个Game()类,它包含三个字典属性,所有这些属性的键都是从0到39的地块在板上的位置:.properties,其值是包含空间名称、购买价格、颜色组和租金(元组)的列表

。铁路,仅包含空间名称

.utilities,也只包含空间名称。

我这样做是因为在某些时候,我想遍历适当的字典,看看玩家是否拥有字典中的其他地块;同时也是因为值的数量不同。

Game()还有一个名为space-types的元组,其中每个值都是表示空间类型(property、railway、utility、luxury tax、GO等)的数字。要了解我的播放器所处的空间类型:

space_type = space_types[boardposition]

我还有一个Player()类,它有一个buy_property()方法,其中包含一个print语句,应该是:

"You bought PropertyName for $400."

其中PropertyName是空间的名称。但现在我必须使用这样的if/elif/else块,看起来很难看:space_type = Game(space_types[board_position])

if space_type is "property":

# pull PropertyName from Game.properties

elif space_type is "railroad":

# pull PropertyName from Game.railroads

elif space_type is "utility":

# pull PropertyName from Game.utilities

else:

# error, something weird has happened

我想这样做:dictname = "dictionary to pull from" # based on space_type

PropertyName = Game.dictname # except .dictname would be "dictionary to pull from"

在Python中,是否可以将变量的值作为要引用的属性的名称传递?我也会感谢有人告诉我,我正在接近这个根本错误,并建议一个更好的方式去做。

python变量名称引用变量_Python:按变量名引用对象属性?相关推荐

  1. python分箱分类代码_Python实现变量分箱及应用

    之前发的内容里,代码看不清,此篇为重发. 个人观点,信贷行业中,模型稳定性往往比模型效果更重要.信贷行业所做的任何规则.政策.模型的调整,都需要较长时间才能知道结果如何,模型迭代周期相较于其他行业可能 ...

  2. python 映射和反映射_Python 数据可视化:几何对象和美学映射

    从上一课的初步体验中,我们已经获悉,只要加载了数据,并创建了"美学映射"之后,也就有了绘图的基础,然后要思考的就是:做什么形状的图,是散点图,还是箱线图?这些图就是所谓的" ...

  3. python变量名称的规定_Python 趣闻:如何获得变量的名字?

    获取变量名 今天我们探讨Python中一个看似很简单,实则并不容易的问题.这个问题是:如何获得变量的名字? 举例说明,给定一个变量var,给它赋值字符串"foo".即 In [1] ...

  4. python变量名称跟着循环_Python 变量循环

    Python 变量-循环 一.变量 不管什么编程语言或脚本语言 在定义变量时都有一定的规则.Python变量定义规则如下: 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 关键 ...

  5. python变量名称跟着循环_python在循环中存储每次迭代使用不同名称的输入变量

    我将使用collections库中的defaultdict来完成该任务.这将确保每个输入变量的索引位置. 使用索引和变量,您可以完成其余的工作.在from collections import def ...

  6. python怎么判断是不是列表_python判断变量是否为int、字符串、列表、元组、字典等方法...

    在实际写程序中,经常要对变量类型进行判断,除了用type(变量)这种方法外,还可以用isinstance方法判断: #!/usr/bin/env python a = 1 b = [1,2,3,4] ...

  7. python中声明变量注意要项_Python之变量、常量以及注释

    Python之变量.常量以及注释 一.什么是变量 变量,是用于在内存中存放程序数据的容器,怎么理解呢? 计算机的最核心的功能就是"计算",计算需要数据源,数据源存在在内存里,比如我 ...

  8. python怎么定义一个数字_Python数字变量定义赋值

    一.任务描述 本实验的任务主要对Python的变量赋值进行基本操作,通过完成本实验任务,要求学生熟练掌握Python的变量赋值与定义,并对Python变量的基本操作进行整理并填写工作任务报告. 二.任 ...

  9. python电影名称词云_python wordcloud 对电影《我不是潘金莲》制作词云

    1 #-*- coding:utf-8 -*- 2 ''' 3 抓取豆瓣电影某部电影的评论4 这里以<我不是潘金莲为例>5 网址链接:https://movie.douban.com/su ...

  10. python 文件名称唯美_python 采集唯美girl

    import requests; import re; import os; # 1.请求网页 header = { "user-agent":'Mozilla/5.0 (Maci ...

最新文章

  1. 子元素绝对定位absolute后,自动撑开宽度
  2. unity3d与eclipse协同工作环境
  3. XMLJavaXMLBeans结合应用的价值
  4. 【算法与数据结构】中缀表达式转为后缀表达式
  5. 网友提问:SAPGUI里做好的事物码,能直接用在ABAP Webdynpro里么
  6. java lambda表达式详解_Java8新特性:Lambda表达式详解
  7. python基础--自定义模块、import、from......import......
  8. 宁畅定制算力为冰雪训练插上智慧翅膀
  9. 谷歌开源 TensorFlow 的简化库 JAX
  10. 记录Access数据库更新操作大坑一个
  11. 函数的参数,参数为数组
  12. codevs 4189 字典
  13. 关于spring boot的web.xml
  14. WAV音乐文件无法修改标题
  15. 软件测试(二)-静态测试-数据流分析
  16. 开发STM32MP1,离不开一个好开发板
  17. 农业科研:大田作物智慧种植
  18. 智能窗帘电机究竟有何亮点?智汀小米有何优势?
  19. C语言 本地套接字这个审核也不给我通过,老规矩base64
  20. 摄影测量期末复习cumt

热门文章

  1. 【苹果推】苹果imessage群发安装软件安装“便携式设备”
  2. 山东大学软件学院机器学习(考试)——期末考试回忆版
  3. 为什么说手工表格管理固定资产已经OUT了?
  4. 一些server端知识合集
  5. ccxprocess用不用自启_远程开机加远程控制,游戏玩家用这款智能插座超实用
  6. 【Java 数组和集合 区别及使用案例】
  7. vuex 源码整体架构学习
  8. 拳王虚拟项目公社:如何利用信息差在闲鱼赚钱,闲鱼月入十万的小白怎么玩?
  9. 一个 developer 的进化
  10. iPhone短信删除了怎么恢复