#?標有"#"的行是修改過的,對比一下看看。
創新互聯公司于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編程素材及方法等內容,可以點擊本站的其他文章進行學習。
網站標題:python編程開關函數 python 開關語句
文章源于:http://vcdvsql.cn/article34/hepgpe.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、動態網站、外貿建站、商城網站、企業建站、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯