php 不存在给默认值,当属性不存在时,创建一个属性并给它一个默认值

我正在从一本书中学习Python,并为自己编写了一个长时间的测验/类型的游戏,最后打印出摘要。但是,摘要会根据用户所做的选择来查找不总是存在的属性。在

我把它抽象成一个基本的例子来说明我要做什么。本质上,我只想运行一个属性错误检查,对于每个没有属性的变量,创建一个默认值为N/a的属性

在下面的示例中,我希望它打印:

名字:乔

姓:布洛格斯

史密斯试验:不适用

测试4:不适用

我创建了一个名为CodeCleaner的类,我打算用它来设置N/a值,但却被卡住了!在class QuestionSet(object):

next_set = 'first_set'

class ClaimEngine(QuestionSet):

def current_set(self):

last_set = "blank"

while_count = int(0)

quizset = Sets.subsets

ParentSet = QuestionSet()

while ParentSet.next_set != last_set and int(while_count)<50:

quizset[ParentSet.next_set].questioning()

while_count = while_count+1

class FirstSet(QuestionSet):

def questioning(self):

self.value1 = raw_input("Forename:\n")

QuestionSet.next_set = "second_set"

class SecondSet(QuestionSet):

def questioning(self):

self.value2 = raw_input("Surname:\n")

if self.value2 == "Smith":

self.value3 = "He's a Smith!"

self.value4 = "Test val 4"

QuestionSet.next_set = "summary"

else:

QuestionSet.next_set = "summary"

class CodeCleaner(QuestionSet):

def questioning(self):

mapping = Sets()

sets = mapping.subsets

variable_list = {

[sets['first_set']].value1,

[sets['second_set']].value2,

[sets['second_set']].value3,

[sets['second_set']].value4

}

#while key_no < 4:

# try:

# print variable_list

# except AttributeError:

class Summary(QuestionSet):

def questioning(self):

mapping = Sets()

sets = mapping.subsets

print "Forename:",sets['first_set'].value1

print "Surname:",sets['second_set'].value2

print "Smith Test:",sets['second_set'].value3

print "Test 4:",sets['second_set'].value4

exit(0)

class Sets(object):

subsets = {

'first_set': FirstSet(),

'second_set': SecondSet(),

'summary': Summary()

}

run = ClaimEngine()

run.current_set()

我很懒得问这个问题,不过,我已经为这个问题纠结了几天了!任何帮助都将不胜感激。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值