网站首页 > 文章中心 > 其它

python编程开关函数

作者:小编 更新时间:2023-09-06 22:41:46 浏览量:338人看过

python问题,我的function不能return,讲的是一个开关灯的类

#?标有"#"的行是修改过的,对比一下看看.

class?LightSwitch:

def?__init__(self,condition):

self.is_on?=?condition

if?not?isinstance(condition,bool):

python编程开关函数-图1

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:

else:

def?__str__(self):

if?self.is_on?==?True:

return?"I?am?on"

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

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

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

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.reset()

light_board.filp_every(1)

有的代码可以写得更简洁,基类已经提供的服务(接口),在派生类中直接使用就可以了.下面的仅供参考.

self.is_on?=?not?self.is_on?##

for?i?in?range(number):

for?i?in?range(len(self._lights)):?##

self._lights[n].filp()?##

self.filp(n?*?k)?##

light.turn_off()?##

一道简单的python编程?

def demo(m, n):

for ji in range(1, m + 1):

tu = m - ji

return (ji, tu)

return (-1, -1)

m, n = input('输入鸡兔数,脚数:').split(',')

if demo(int(m), int(n)) == (-1, -1):

print('输入数据出错!')

print('%d只鸡,%d只兔.' % demo(int(m), int(n)))

python编程?

#判断一个数是否位素数,并且返回所有三位数的素数

def?getss(n):

#判断n是否位素数

if?(n?%?i?==?0):

print('%s?不是素数'?%?n)

break

print('%s?是素数'?%?n)

#?查询所有的三位素数

num?=?[]

for?i?in?range(100,?1000):

if?(i?%?j?==?0):

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

import?cmath

def?getroot(a,?b,?c):

print(result)

源码:

链接:

提取码:rizf

在python编程中,eval函数的作用是什么?

第一段:字符串转换成列表

第二段:字符串转换成字典

第三段:字符串转换成元组

eval函数就是实现list、dict、tuple与str之间的转化

str函数把list,dict,tuple转为为字符串

回到顶部

b = eval(a)

print(type(b))print(b)

b = eval(a)print(type(b))print(b)

b=eval(a)print(type(b))print(b)

新手如何快速入门Python编程?

了解 Python 编程基础

首先第一点,要能够看懂了解变量、基础语法、编程规范等,这些事能够上手编写Python 代码的前提.

其次第二点,对于数据结构,字符串、列表、字典等需要比较熟练运用.

刚开始的这部分就做一些简单的练习,构造出一个数据类型,然后再实现基本的用法.比如你自己构造一个列表,实现列表中数据的访问、更新、删除等基本操作,比如len()、max()、min() 函数,以及 append()、count()、extend() 等方法.

Python函数及流程控制

有了前面的基础练习之后,学习Python的函数和控制语句,是真正去解决问题的过程,如何将固定的功能模块封装成函数,如何实现判断和循坏,这些不仅是写出代码的必要条件,也是训练编程思维的必经之路.

流程控制比较好掌握一些,条件语句和循坏语句在不同的场景下练习几遍,知道判断和循环实现的过程就行.

函数这个部分无外乎函数的定义、函数调用以及参数传递,但是要能够熟练地写出函数实现对应的功能,需要注意的细节很多.

利用Python做些事情

在前期的理论知识学透之后,你不妨尝试着利用利用Python做些事情,检验自己的学习成果,这样也能够巩固加深自己学习的理论知识.同时,可以查漏补缺,看看自己哪方面需要保持,哪方面需要继续学习.

这个时候不妨了解一些第三方库,你可以做更多的事情.对于不同的库,内部的方法、函数你还需要去熟悉,开始的时候先掌握少部分最常用的方法,在遇到实际的问题的时候,再去查对应的更多的用法,这样会更高效.

深入Python编程

首先需要了解Python的高级特性,如迭代器、生成器、装饰器等,了解类和面向对象的理念.深入下去,你可以去探索Python的实现原理,Python的性能优化,跳出Python语言本身,去了解计算机的交互原理,还有很长的路要走,但并不是每一个人都需要这个过程.

但这些确实是你在这个领域立足生根的重要条件,对于特别想要在IT行业发展的人来说,这个过程是非常有必要的.

以上就是土嘎嘎小编为大家整理的python编程开关函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章