class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
print p.name
try: #此处加个异常处理即可
print p.__score
except AttributeError:
print AttributeError
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
print p.name
try: #此处加个异常处理即可
print p.__score
except AttributeError:
print AttributeError
2018-01-06
setattr(object, name, values)方法
给对象的属性赋值,若属性不存在,先创建再赋值。
希望大家不要气馁,有问题多思考,多问,不会的可以先放一放,等学完之后再回过头看,或许会简单一点。大家加油!
给对象的属性赋值,若属性不存在,先创建再赋值。
希望大家不要气馁,有问题多思考,多问,不会的可以先放一放,等学完之后再回过头看,或许会简单一点。大家加油!
2018-01-06
看了楼上说的gcd()函数,但是最好不在__init__就用,因为分子分母相乘之后仍然可能有最大公约数,最好是在__str__里面用
2018-01-06
def prod(x, y):
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
2018-01-05
import math
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
2018-01-05
求最大公约数算法:
(1)辗转相除法
两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数,结束
③ 若c≠0,则a=b,b=c,再回去执行①
(2)相减法
两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数,结束
④ 若a≠b,则再回去执行①
(3)穷举法:
① i= a b中的小数
② 若a,b能同时被i整除,则i即为最大公约数,结束
③ i--,再回去执行②
(1)辗转相除法
两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数,结束
③ 若c≠0,则a=b,b=c,再回去执行①
(2)相减法
两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数,结束
④ 若a≠b,则再回去执行①
(3)穷举法:
① i= a b中的小数
② 若a,b能同时被i整除,则i即为最大公约数,结束
③ i--,再回去执行②
2018-01-05
#-*- coding: utf-8 -*-
class Person(object):
def __init__(self, name, __score):
self.name = name
self.__score =__score
def get_grade(self):
if self.__score >=80:
return "A-优秀"
if self.__score >=60:
return "B-及格"
return "C-不及格"
class Person(object):
def __init__(self, name, __score):
self.name = name
self.__score =__score
def get_grade(self):
if self.__score >=80:
return "A-优秀"
if self.__score >=60:
return "B-及格"
return "C-不及格"
2018-01-05
class Person(object):
__count = 0
def __init__(self, name):
Person.__count = Person.__count+1
self.name =name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except:
print 'AttributeError'
__count = 0
def __init__(self, name):
Person.__count = Person.__count+1
self.name =name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except:
print 'AttributeError'
2018-01-05
答案
最开头加入
#coding: utf-8
然后类中代码:
def __init__(self, name, score):
self.name=name
self.__score = score
def get_grade(self):
if self.__score >=85:
return "A-优秀"
elif self.__score >=60:
return "B-及格"
else:
return "C-不及格"
最开头加入
#coding: utf-8
然后类中代码:
def __init__(self, name, score):
self.name=name
self.__score = score
def get_grade(self):
if self.__score >=85:
return "A-优秀"
elif self.__score >=60:
return "B-及格"
else:
return "C-不及格"
2018-01-05
个人感觉我的才是符合老师要求和达到练习的代码:
class Person(object):
__count = 0
def __init__(self, name):
Person.__count += 1
self.name = name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except AttributeError:
print 'attributeerror'
class Person(object):
__count = 0
def __init__(self, name):
Person.__count += 1
self.name = name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except AttributeError:
print 'attributeerror'
2018-01-05
print filter(lambda s: s and len(s.strip())>0, ['test', None, '', 'str', ' ', 'END'])#其实就是把return写成lambda而已
2018-01-05
def calc_pord(list):
def m():
a=1
for i in list:
a*=i
return a
return m
print calc_pord([1,2,3,4])()
def m():
a=1
for i in list:
a*=i
return a
return m
print calc_pord([1,2,3,4])()
2018-01-05