㈠ 向老師求教: 在python語言中,while型循環體內變數取值參與計算,怎麼從鍵盤輸
假設你知道n批股票的股數和價格
money=0 #金額
hold=0 #股數
fg=[100,200,300,400] #每次買的股數
fj=[13.2,14.2,14.0,15] #每次購買價格
i=0
while i<len(fg):
money+=fg[i]*fj[i]
hold+=fg[i]
i+=1
avg_price=money/hold #平均價格
print(avg_price)
14.36
㈡ python編程實例——求滿足條件的三位數
求滿足如下條件的3位正整數,它除以9的商等於它的個位數字的平方和。例如224,它除以9的商為24,它的每一位數(2、2和4)的平方和也是24。
演算法思路:首先,我們用range函數遍歷所有的3位數,按照range(x,y)函數的語法規則,要包含所有的3位整數100~999,range函數的參數x、y應該分別取值為100和1000,即range(100,1000),然後分別計算3位數的個位、十位和百位數。計算的方法可以參考下面代碼的變數a、b和c的計算方法,然後再計算出它們的平方和,最後,比較每位數的平方和是否等於此數除以9的商,如果是就輸出這個數。代碼如下:
程序運行結果:
132
224
315
453
535
561
635
661
753
805
815
㈢ python3定時器
在實際應用中,我們經常需要使用定時器去觸發一些事件。Python中通過線程實現定時器timer,其使用非常簡單。看示例:
一秒後輸出 Hello Timer!
oneshot的定時器這樣就可以實現。
如果要實現cycle的定時器,則可以:
1s後定時器啟動後,將再次以5.5s為間隔周期性執行回調fun_timer函數
結果是:
在使用Python定時器時需要注意:
1.定時器構造函數主要有2個參數,第一個參數為時間,第二個參數為函數名,第一個參數表示多長時間後調用後面第二個參數指明的函數。第二個參數注意是函數對象,進行參數傳遞,用函數名(如fun_timer)表示該對象,不能寫成函數執行語句fun_timer(),不然會報錯。
2.定時器間隔單位是秒,可以是浮點數,如5.5,0.02等,在執行函數fun_timer內部和外部中給的值可以不同。如上例中第一次執行fun_timer是1秒後,後面的都是5.5秒後執行。
3.可以使用cancel停止定時器的工作
㈣ python定時每個工作日
1).window下是dir命令,linux是ls
我們用platform這個模塊來判斷一下操作系統,a.我們先獲取當前的時間,假設當前時間是2017-02-09 20:19:47.555000
b.然後我們輸入一個你要定時執行的target時間,比如你是x分10秒的時候執行sched_Timer=datetime.datetime(x,x,x,x,x,10),前面的x是並不重要(只要最後是10秒就行了),我們就把目標時間設的比當前晚一點即可:c.好當時間到了20:20:10的時候要運行我們的程序,如何定時到了呢,很簡單用,d.那麼如何讓時間在下一分鍾10秒繼續執行呢,也很簡單用timedelta()
datetime.timedelta(minutes=1)把target時間往後增加一分鍾,然後外邊用個while 死循環hold住就可以了。同樣的這個代碼也可以擴展,把minutes=1改成hours=1就變成了每個小時定時任務,改成days=1就變成每天的定時任務。
㈤ 用python寫一個循環取值計算題
代碼重寫了下,僅供參考
deffunction(num):
ifnum=='1'ornum=='4':
return
num_sum=0
foriinrange(0,len(num)):
num_sum=num_sum+int(num[i:i+1])**2
print('zip('+num+')=',num_sum)
function(str(num_sum))
if__name__=='__main__':
num=input('enteranumber:')
function(num)
執行結果:
enter a number:73
zip(73)= 58
zip(58)= 89
zip(89)= 145
zip(145)= 42
zip(42)= 20
zip(20)= 4
㈥ 如何用Python寫一個每分每時每天的定時程序
1.計算生日是星期幾
當你女朋友要過生日了,你肯定要定找家飯店訂個餐慶祝一下,餐館工作日會空一些,周末位置不好定,要是能知道她的生日是星期幾就好了,下面這個程序就能搞定~~
比如girl friend 的生日假設是 gf_birthday='2017-3-3'
1).我們先把變數格式化成一個datetime對象
birthday=datetime.datetime.strptime(gf_birthday,'%Y-%m-%d')
2).然後利用datetime裡面的函數weekday來得到一個下標
birthday.weekday()
3).構造一個weekdays的列表,根據下標從列表裡面取出是周幾
weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
weekdays[birthday.weekday()]
當然你要計算比如情人節,聖誕節什麼的都可以用上面的程序,或者整個列表把10年的節日都羅列計算一下都是可以了,是不是很簡單,對日期的理解有木有加深了一下下
2.定時任務
在Python裡面,比如你想定期去爬一個網頁,或者做運維的同學想每天12點去定時download一個文件,或者定時去掃描一些伺服器,甚至老闆的需求不停的變可能是,每隔5分鍾,或者每小時的整點10分,每周每月都有一些定時任務
用Python怎麼破很簡單,下面這個程序輕松搞定
我們先從一個最簡單的例子說,假設我們是每分種的第10秒,去執行一個任務去列印一下當前的目錄
1).window下是dir命令,linux是ls
我們用platform這個模塊來判斷一下操作系統
import platform
os_platfrom=platform.platform()
if os_platfrom.startswith('Darwin'):
print'this is mac os system'
os.system('ls')
elif os_platfrom.startswith('Window'):
print'this is win system'
os.system('dir')
2).如何定時執行
a.我們先獲取當前的時間
now=datetime.datetime.now()
假設當前時間是2017-02-09 20:19:47.555000
b.然後我們輸入一個你要定時執行的target時間
比如你是x分10秒的時候執行sched_Timer=datetime.datetime(x,x,x,x,x,10)
前面的x是並不重要(只要最後是10秒就行了),我們就把目標時間設的比當前晚一點即可:
sched_Timer=datetime.datetime(2017,2,9,20,20,10)
c.好當時間到了20:20:10的時候要運行我們的程序
如何定時到了呢,很簡單用
if now==sched_Timer:
'run Task'
d.那麼如何讓時間在下一分鍾10秒繼續執行呢,也很簡單用timedelta()
datetime.timedelta(minutes=1)把target時間往後增加一分鍾
sched_Timer=sched_Timer+datetime.timedelta(minutes=1)
然後外邊用個while 死循環hold住就可以了
同樣的這個代碼也可以擴展,把minutes=1改成hours=1就變成了每個小時定時任務,改成days=1就變成每天的定時任務
㈦ python 運算
1、Python使用與C、Java類似的運算符,支持整數與浮點數的數學運算。同時還支持復數運算與無窮位數(實際受限於計算機的能力)的整數運算。除了求絕對值函數abs()外,大多數數學函數處於math和cmath模塊內。前者用於實數運算,而後者用於復數運算。使用時需要先導入它們,比如:
>>>importmath
>>>print(math.sin(math.pi/2))
1.0
fractions模塊用於支持分數運算;decimal模塊用於支持高精度的浮點數運算。
2、Python定義求余運行a % b的值處於開區間[0, b)內,如果b是負數,開區間變為(b, 0]。這是一個很常見的定義方式。不過其實它依賴於整除的定義。為了讓方程式:b * (a // b) + a % b = a恆真,整除運行需要向負無窮小方向取值。比如7 // 3的結果是2,而(-7) // 3的結果卻是-3。這個演算法與其它很多編程語言不一樣,需要注意,它們的整除運算會向0的方向取值。
3、Python允許像數學的常用寫法那樣連著寫兩個比較運行符。比如a < b < c與a < b and b < c等價。C++的結果與Python不一樣,首先它會先計算a < b,根據兩者的大小獲得0或者1兩個值之一,然後再與c進行比較。