from otree.api import * c = cu doc = '\n' class Constants(BaseConstants): name_in_url = 'Survey2_old' players_per_group = None num_rounds = 1 instructions_template = 'Survey2_old/instructions.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): famine1 = models.StringField(choices=[['1', '应该偷'], ['2', '无法决定'], ['3', '不应该偷']], label='1.你赞成辛格偷粮食吗?(在下列选项中选择一个)', widget=widgets.RadioSelectHorizontal) famine_choice = models.StringField(blank=True, choices=[['1', '非常重要'], ['2', '很重要'], ['3', '比较重要'], ['4', '不太重要'], ['5', '完全不重要']], label='问题', widget=widgets.RadioSelectHorizontal) famine21 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='1.辛格冒着被捕的危险去偷粮食,这样是不是很勇敢?', widget=widgets.RadioSelectHorizontal) famine22 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='2.对于一个慈爱的父亲来说,为了自己的家庭不惜去偷窃,难道不是很自然的事情吗?', widget=widgets.RadioSelectHorizontal) famine23 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='3.人们难道不应该遵守社区法律吗?', widget=widgets.RadioSelectHorizontal) famine24 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='4.穆斯塔克·辛格知道用树皮做汤的一个好配方吗?', widget=widgets.RadioSelectHorizontal) famine25 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='5.当其他人都在挨饿时,富人有权囤积粮食吗?', widget=widgets.RadioSelectHorizontal) famine26 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='6.穆斯塔克·辛格偷东西是为了自己还是为了家庭?', widget=widgets.RadioSelectHorizontal) famine27 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='7.社会合作应该建立在什么样的价值基础上?', widget=widgets.RadioSelectHorizontal) famine28 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='8.果腹的需要能抵过偷窃的罪恶吗?', widget=widgets.RadioSelectHorizontal) famine29 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='9.富人只是因为贪婪就应该被抢吗?', widget=widgets.RadioSelectHorizontal) famine210 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='10.财产私有制不就是为了保护富人对穷人的剥削吗?', widget=widgets.RadioSelectHorizontal) famine211 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='11.偷窃能不能使所涉及人员的总体利益最大化?', widget=widgets.RadioSelectHorizontal) famine212 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='12.法律是否阻碍了社会中每一个成员获得最基本的权利?', widget=widgets.RadioSelectHorizontal) famine31 = models.IntegerField(label='', max=12, min=1) famine32 = models.IntegerField(label='', max=12, min=1) famine33 = models.IntegerField(label='', max=12, min=1) famine34 = models.IntegerField(label='', max=12, min=1) reporter1 = models.StringField(choices=[['1', '应该报道'], ['2', '无法决定'], ['3', '不应该报道']], label='1.你赞成报道这篇新闻吗?(在下列选项中选择一个)', widget=widgets.RadioSelectHorizontal) reporter_choice = models.StringField(blank=True, choices=[['1', '非常重要'], ['2', '很重要'], ['3', '比较重要'], ['4', '不太重要'], ['5', '完全不重要']], label='问题', widget=widgets.RadioSelectHorizontal) reporter21 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='1.难道人们没有权利知道副市长候选人的背景吗?', widget=widgets.RadioSelectHorizontal) reporter22 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='2.发表这条爆炸新闻,将会让记者出名吗?', widget=widgets.RadioSelectHorizontal) reporter23 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='3.如果茉莉没有发表,其他记者也不会发表吗?', widget=widgets.RadioSelectHorizontal) reporter24 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='4.既然候选人一定会当副市长,那发不发表这个新闻又有什么关系呢?', widget=widgets.RadioSelectHorizontal) reporter25 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='5.候选人在过去20年中所做贡献都不能抵消他20年前所犯的罪吗? ', widget=widgets.RadioSelectHorizontal) reporter26 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='6. 什么是最好的服务社会的方式?', widget=widgets.RadioSelectHorizontal) reporter27 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='7.如果这个故事是真实的,那么记者报道又有什么错呢?', widget=widgets.RadioSelectHorizontal) reporter28 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='8.记者报道新闻会对候选人打击很大,她怎么能这么残酷无情呢?', widget=widgets.RadioSelectHorizontal) reporter29 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='9.“人权”的原则适用于这种情况吗?', widget=widgets.RadioSelectHorizontal) reporter210 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='10.有或者没有这个报道,选举的过程都将是公平的吗?', widget=widgets.RadioSelectHorizontal) reporter211 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='11.记者将会公正地报道所有候选人的背景资料吗?', widget=widgets.RadioSelectHorizontal) reporter212 = models.StringField(choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5']], label='12.不管情况如何,如实报道全部新闻,这难道不是记者的职责吗?', widget=widgets.RadioSelectHorizontal) reporter31 = models.IntegerField(label='', max=12, min=1) reporter32 = models.IntegerField(label='', max=12, min=1) reporter33 = models.IntegerField(label='', max=12, min=1) reporter34 = models.IntegerField(label='', max=12, min=1) factory1 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='1.你认为这两个工人做得对吗?从-4到4进行打分,越往左边表示越不正确,越往右边表示越正确。', widget=widgets.RadioSelectHorizontal) factory2 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='2.因为他们没有给工厂带来多少损失。', widget=widgets.RadioSelectHorizontal) factory3 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='3.因为工厂经理漠视法律,为了维护法律的尊严,这两个工人可以这样做。', widget=widgets.RadioSelectHorizontal) factory4 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='4.因为大多数工人支持他们的行为,而且很多人会高兴他们这么做。', widget=widgets.RadioSelectHorizontal) factory5 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='5.因为人与人之间的相互信赖,以及员工的个人尊严,比工厂的法规更重要。', widget=widgets.RadioSelectHorizontal) factory6 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='6.因为在工厂经理先违法的情况下,两个工人破门而入的行为是正当的。', widget=widgets.RadioSelectHorizontal) factory7 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='7.因为这两个工人找不到揭露工厂经理不法行为的合法途径,因而选择了他们认为不是太坏的做法。', widget=widgets.RadioSelectHorizontal) factory8 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='8.因为如果每个人都像这两个工人这么做,法律的尊严和社会的秩序将受到威胁。', widget=widgets.RadioSelectHorizontal) factory9 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='9.因为财产所有权是人的最基本权利之一,任何人都不能把法律玩弄于股掌之间随意践踏,除非有更普遍的道德原则的允许。', widget=widgets.RadioSelectHorizontal) factory10 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='10.因为由于他人的缘故,而冒被公司解雇的风险是不明智的。', widget=widgets.RadioSelectHorizontal) factory11 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='11.因为这两个工人应该寻找合法的途径,而不应该做这么严重违反法律的事情。', widget=widgets.RadioSelectHorizontal) factory12 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='12.因为如果想被看作是一个诚实正派的人,他就不能偷窃。', widget=widgets.RadioSelectHorizontal) factory13 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='13.因为解雇别人与自己无关,他们没有理由去偷录像带。', widget=widgets.RadioSelectHorizontal) doctor1 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='1.你认为医生做得对吗?从-4到4进行打分,越往左边表示越不正确,越往右边表示越正确。', widget=widgets.RadioSelectHorizontal) doctor2 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='2.因为这个医生是按照自己的良心做事的,这个妇女的特殊情况并不违背医生有延长病人生命的义务。', widget=widgets.RadioSelectHorizontal) doctor3 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='3.因为只有医生才能完成这个妇女的心愿,这个医生是为了满足她的心愿才这样做的。', widget=widgets.RadioSelectHorizontal) doctor4 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='4.因为医生只是做了这个妇女让他做的事情。他不必担心有令人不快的后果。', widget=widgets.RadioSelectHorizontal) doctor5 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='5.因为这个妇女的病无论如何都不能治愈,多给她开些止痛药也费不了什么事。', widget=widgets.RadioSelectHorizontal) doctor6 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='6.因为这个医生没有真正违反法律,没有人可以挽救她的生命,他只是想缩短她痛苦的时间。', widget=widgets.RadioSelectHorizontal) doctor7 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='7.因为大多数医生在这种情况下也会这样做的。', widget=widgets.RadioSelectHorizontal) doctor8 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='8.因为他这样做和同事们的意见相左。如果同事们反对安乐死,他就不应该这样做。', widget=widgets.RadioSelectHorizontal) doctor9 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='9.因为救死扶伤、延长病人的生命是医生的天职,病人病痛缠身、病入膏肓不是免责的理由。', widget=widgets.RadioSelectHorizontal) doctor10 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='10.因为保护生命是每一个人的最高道德义务。我们没有明确的道德标准来区分是安乐死还是谋杀。', widget=widgets.RadioSelectHorizontal) doctor11 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='11.因为这个医生会因此而惹上麻烦。有的医生因为这样做已经受到了处罚。', widget=widgets.RadioSelectHorizontal) doctor12 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='12.因为如果他等着看而不去干涉这个妇女的死亡过程,这件事对他来讲就容易多了。', widget=widgets.RadioSelectHorizontal) doctor13 = models.StringField(choices=[['-4', '-4'], ['-3', '-3'], ['-2', '-2'], ['-1', '-1'], ['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4']], label='13.因为这个医生违反了法律。如果他认为安乐死是不合法的,他就不应该答应病人的要求。', widget=widgets.RadioSelectHorizontal) class Introduction(Page): form_model = 'player' class Famine(Page): form_model = 'player' form_fields = ['famine1', 'famine_choice', 'famine21', 'famine22', 'famine23', 'famine24', 'famine25', 'famine26', 'famine27', 'famine28', 'famine29', 'famine210', 'famine211', 'famine212', 'famine31', 'famine32', 'famine33', 'famine34'] class Reporter(Page): form_model = 'player' form_fields = ['reporter1', 'reporter_choice', 'reporter21', 'reporter22', 'reporter23', 'reporter24', 'reporter25', 'reporter26', 'reporter27', 'reporter28', 'reporter29', 'reporter210', 'reporter211', 'reporter212', 'reporter31', 'reporter32', 'reporter33', 'reporter34'] class Factory(Page): form_model = 'player' form_fields = ['factory1', 'factory2', 'factory3', 'factory4', 'factory5', 'factory6', 'factory7', 'factory8', 'factory9', 'factory10', 'factory11', 'factory12', 'factory13'] class Doctor(Page): form_model = 'player' form_fields = ['doctor1', 'doctor2', 'doctor3', 'doctor4', 'doctor5', 'doctor6', 'doctor7', 'doctor8', 'doctor9', 'doctor10', 'doctor11', 'doctor12', 'doctor13'] page_sequence = [Introduction, Famine, Reporter, Factory, Doctor]