# 标有"#"的行是修改过的,对比一下看看。
创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目做网站、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元娄烦做网站,已为上家服务,为娄烦各地企业和个人服务,联系电话:13518219792
class LightSwitch:
def __init__(self,condition):
self.is_on = condition
if not isinstance(condition,bool):
InvaildSwitchExpection = TypeError("it is not a right state".format(condition))
raise InvaildSwitchExpection
def turn_on(self):
self.is_on = True
def turn_off(self):
self.is_on = False
def filp(self):
if self.is_on == False:
self.is_on = True
else:
self.is_on = False
def __str__(self):
if self.is_on == True:
return "I am on"
else:
return "I am off"
class SwitchBoard(LightSwitch):
def __init__(self, number):
self._lights = []
for i in range(0, number):
i = LightSwitch(False)
self._lights.append(i)
def which_switch(self):
result = []
for i in range(0, len(self._lights)):
if self._lights[i].is_on == True:
result.append(str(i)) #
return result
def __str__(self):
result = self.which_switch() #
result_str = ','.join(result)
return 'The following switches are on: ' + result_str
def filp(self, n):
if self._lights[n] == False:
self._lights[n].is_on = True
else:
self._lights[n].is_on = False
def filp_every(self, n):
k = 0
while n * k = len(self._lights) - 1:
if self._lights[n * k].is_on == False:
self._lights[n * k].is_on = True
else:
self._lights[n * k].is_on = False
k = k + 1
def reset(self):
for light in self._lights:
light.is_on = False #
light_board = SwitchBoard(10)
print(light_board)
light_board.filp_every(2)
print(light_board)
light_board.filp(2)
print(light_board)
light_board.reset()
print(light_board)
light_board.filp_every(1)
print(light_board)
有的代码可以写得更简洁,基类已经提供的服务(接口),在派生类中直接使用就可以了。下面的仅供参考。
class LightSwitch:
def __init__(self,condition):
self.is_on = condition
if not isinstance(condition,bool):
InvaildSwitchExpection = TypeError("it is not a right state".format(condition))
raise InvaildSwitchExpection
def turn_on(self):
self.is_on = True
def turn_off(self):
self.is_on = False
def filp(self):
self.is_on = not self.is_on ##
def __str__(self):
if self.is_on == True:
return "I am on"
else:
return "I am off"
class SwitchBoard(LightSwitch):
def __init__(self, number):
self._lights = []
for i in range(number):
i = LightSwitch(False)
self._lights.append(i)
def which_switch(self):
result = []
for i in range(len(self._lights)): ##
if self._lights[i].is_on == True:
result.append(str(i)) #
return result
def __str__(self):
result = self.which_switch() #
result_str = ','.join(result)
return 'The following switches are on: ' + result_str
def filp(self, n):
self._lights[n].filp() ##
def filp_every(self, n):
k = 0
while n * k = len(self._lights) - 1:
self.filp(n * k) ##
k = k + 1
def reset(self):
for light in self._lights:
light.turn_off() ##
light_board = SwitchBoard(10)
print(light_board)
light_board.filp_every(2)
print(light_board)
light_board.filp(2)
print(light_board)
light_board.reset()
print(light_board)
light_board.filp_every(1)
print(light_board)
def demo(m, n):
for ji in range(1, m + 1):
tu = m - ji
if ji * 2 + tu * 4 == n:
return (ji, tu)
else:
return (-1, -1)
m, n = input('输入鸡兔数,脚数:').split(',')
if demo(int(m), int(n)) == (-1, -1):
print('输入数据出错!')
else:
print('%d只鸡,%d只兔。' % demo(int(m), int(n)))
#判断一个数是否位素数,并且返回所有三位数的素数
def getss(n):
#判断n是否位素数
for i in range(2, n):
if (n % i == 0):
print('%s 不是素数' % n)
break
else:
print('%s 是素数' % n)
# 查询所有的三位素数
num = []
for i in range(100, 1000):
for j in range(2, i):
if (i % j == 0):
break
else:
num.append(i)
return num
# 求两个正整数的最大公约数
def gcd(a, b):
if a b:
a, b = b, a
while (a % b != 0):
c = a % b
a = b
b = c
return b
# 求解方程ax**2 + bx + c = 0
import cmath
def getroot(a, b, c):
d = (b ** 2) - (4 * a * c)
sol1 = (-b - cmath.sqrt(d)) / (2 * a)
sol2 = (-b + cmath.sqrt(d)) / (2 * a)
print('结果为 {0} 和 {1}'.format(sol1, sol2))
result = getss(13)
print(result)
n1 = 40
n2 = 100
k = gcd(n1, n2)
print('%s跟%s的最大公约数为%s' % (n1, n2, k))
getroot(2, 3, 4)
源码:
链接:
提取码:rizf
一、字符串转换成列表
二、字符串转换成字典
三、字符串转换成元组
eval函数就是实现list、dict、tuple与str之间的转化
str函数把list,dict,tuple转为为字符串
回到顶部
一、字符串转换成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"print(type(a))
b = eval(a)
print(type(b))print(b)
请点击输入图片描述
回到顶部
二、字符串转换成字典
a = "{1: 'a', 2: 'b'}"print(type(a))
b = eval(a)print(type(b))print(b)
回到顶部
三、字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"print(type(a))
b=eval(a)print(type(b))print(b)
请点击输入图片描述
了解 Python 编程基础
首先第一点,要能够看懂了解变量、基础语法、编程规范等,这些事能够上手编写Python 代码的前提。
其次第二点,对于数据结构,字符串、列表、字典等需要比较熟练运用。
刚开始的这部分就做一些简单的练习,构造出一个数据类型,然后再实现基本的用法。比如你自己构造一个列表,实现列表中数据的访问、更新、删除等基本操作,比如len()、max()、min() 函数,以及 append()、count()、extend() 等方法。
Python函数及流程控制
有了前面的基础练习之后,学习Python的函数和控制语句,是真正去解决问题的过程,如何将固定的功能模块封装成函数,如何实现判断和循坏,这些不仅是写出代码的必要条件,也是训练编程思维的必经之路。
流程控制比较好掌握一些,条件语句和循坏语句在不同的场景下练习几遍,知道判断和循环实现的过程就行。
函数这个部分无外乎函数的定义、函数调用以及参数传递,但是要能够熟练地写出函数实现对应的功能,需要注意的细节很多。
利用Python做些事情
在前期的理论知识学透之后,你不妨尝试着利用利用Python做些事情,检验自己的学习成果,这样也能够巩固加深自己学习的理论知识。同时,可以查漏补缺,看看自己哪方面需要保持,哪方面需要继续学习。
这个时候不妨了解一些第三方库,你可以做更多的事情。对于不同的库,内部的方法、函数你还需要去熟悉,开始的时候先掌握少部分最常用的方法,在遇到实际的问题的时候,再去查对应的更多的用法,这样会更高效。
深入Python编程
首先需要了解Python的高级特性,如迭代器、生成器、装饰器等,了解类和面向对象的理念。深入下去,你可以去探索Python的实现原理,Python的性能优化,跳出Python语言本身,去了解计算机的交互原理,还有很长的路要走,但并不是每一个人都需要这个过程。
但这些确实是你在这个领域立足生根的重要条件,对于特别想要在IT行业发展的人来说,这个过程是非常有必要的。
以上就是关于如何快速入门Python编程的内容,希望可以为您提供一些帮助。如果您还想了解更多关于数据分析师、大数据工程师、Python编程素材及方法等内容,可以点击本站的其他文章进行学习。