A. python里的是24點還是0點
24點。
Python程序能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。Python提供了一個time和calendar模塊可以用於格式化日期改梁和時間。時間間隔是以秒為單位的浮點小數。每個時間戳都以自從1970年1月1日午夜(歷元)經過了多長時間來表示。Python的time模塊下纖清有很多函數可以轉換常見日期格式。
小時0到23,從返回核豎運浮點數的時間輟方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函數。
B. python編程:任意輸入4個正整數,編程24點
from __future__ import division
import itertools
n = raw_input('input 4 number sep by comma: 1,2,3,4 -> ')
t = list(itertools.permutations(n.split(','),4))
x = list(itertools.proct(* (['+', '-', '*', '/'],) * 3))
for r in t:
for i in x:
if eval(("(((%s%s%s)%s%s)%s%s)") % (r[0],i[0], r[1], i[1], r[2], i[2], r[3])) == 24 :
print ("(((%s%s%s)%s%s)%s%s)=24") % (r[0],i[0], r[1], i[1], r[2], i[2], r[3])
暴力法行么?
C. python庫有哪些
Python比較常見的庫有:Arrow、Behold、Click、Numba、Matlibplot、Pillow等:
1、Arrow
Python中處理時間的庫有datetime,但是它過於簡單,使用起來不夠方便和智能,而Arrow可以說非常的方便和智能。它可以輕松地定位幾個小時之前的時間,可以輕松轉換時區時間,對於一個小時前,2個小時之內這樣人性化的信息也能夠准確解讀。
2、Behold
調試程序是每個程序員必備的技能,對於腳本語言,很多人習慣於使用print進行調試,然而對於大項目來說,print的功能還遠遠不足,我們希望有一個可以輕松使用,調試方便,對變數監視完整,格式已於查看的工具,而Behold就是那個非常好用的調試庫。
3、Click
現在幾乎所有的框架都有自己的命令行腳手架,Python也不例外,那麼如何快速開發出屬於自己的命令行程序呢?答案就是使用Python的Click庫。Click庫對命令行api進行了大量封裝,你可以輕松開發出屬於自己的CLI命令集。終端的顏色,環境變數信息,通過Click都可以輕松進行獲取和改變。
4、Numba
如果你從事數學方面的分析和計算,那麼Numba一定是你必不可少的庫。Numpy通過將高速C庫包裝在Python介面中來工作,而Cython使用可選的類型將Python編譯為C以提高性能。但是Numba無疑是最方便的,因為它允許使用裝飾器選擇性地加速Python函數。
5、Matlibplot
做過數據分析,數據可視化的數學學生一定知道matlab這個軟體,這是一個收費的數學商用軟體,在Python中,Matlibplot就是為了實現這個軟體中功能開發的第三方Python庫。並且它完全是免費的,很多學校都是用它來進行數學教學和研究的。
6、Pillow
圖像處理是任何時候我們都需要關注的問題,平時我們看到很多ps中的神技,比如調整畫面顏色,飽和度,調整圖像尺寸,裁剪圖像等等,這些其實都可以通過Python簡單完成,而其中我們需要使用的庫就是Pillow。
7、pyqt5
Python是可以開發圖形界面程序的。而pyqt就是一款非常好用的第三方GUI庫,有了它,你可以輕松開發出跨平台的圖形應用程序,其中qtdesigner設計器,更是加速了我們開發圖形界面的速度。
除了上述介紹的之外,Python還有很多庫,比如:Pandas、NumPy、SciPy、Seaborn、Keras等。
D. 怎樣用python算24點
這個參考一下:是csdn的
輸入4個數字, 輸出數顫所有用加減唯手乘除結果為薯山敗24的表達式. 代碼如下:
def isEqual(num1, num2):
return
abs(num1 - num2) < 1e-5;
# End of isEqual().
http://blog.csdn.net/jq0123/article/details/6092435
E. python經典24點游戲
游戲規則:從一副撲克牌中抽取4張牌,對4張啟歷此牌使用加減乘除中的任何方法使計算結果為24,例如(((4-2)+6)*3) = 24,最快算出24者勝。
實現思路:參照原作者想法,由於設計到了表達式,很自然的想到了用二叉樹來實現。簡單概括為:先列出所有表達式的可能性,然後運用表達式樹,也就是二叉樹計算表達式的值,當然還需要使用遞歸來具體實現各個功能,下面我們具體來實現下吧。
表達式樹的所有葉子節點均為操作數(operand), 其它節點為運算符(operator),本次採用二叉樹來表示表達式中各個屬性的值,這樣也方便我們計算。
首先是遍歷所有表達式的可能情況,這里得到得是操作數所有可能得情況,假如傳入的l是序列[1,2,3,4],count1是4,count2是4,那麼得到的結果就是12個隨機且不重復的[1,2,3,4]序列
同理,產生運算符的不同排列結果
然後根據傳入的表達式的值,構造表達式樹,首先我們創建一個表示節悄迅點的類
然後樹的形式無非兩種,就是上面大家看到的兩種形式,用程序表示出來就是兩種函數,參數分別對應了運算符和爛行運算符,還是比較好理解的,知識涉及一些二叉樹的知識。
然後就是計算表達式樹的值,這里也運用了遞歸。
輸出所有可能的結果,這里注意print_node方法也是使用的遞歸來列印數據,並且使用 end='' 去掉了換行符。
最後在程序的入口調用calculate方法,並傳入數據,也就是你得到的牌。
成果:
F. linux系統python24版本functools模塊
把你的python版本升級到2.7
我使用2.7版本,沒有這個問題,可以正常引用。
另外就是庫的版本請參考
xlrd 0.9.3
xlwt 0.7.5
setuptools-3.0b1
xlutils 1.7.1
G. Python編24點游戲
#!/usr/bin/python
#coding:utf8
'''
原始方法編24點游戲
'''
importitertools
importrandom
numlist=[random.randint(1,13)foriinrange(4)] #隨機4個數
printnumlist
nlist=[]
[nlist.append(nl)fornlinlist(itertools.permutations(numlist))ifnlnotinnlist] #4個數排列組合,並在有重復數字時對組合去重
#printnlist
option=['+','-','*','/']
olist=list(itertools.proct(option,repeat=3)) #操作符重復組合3位
#printolist
retlist=[[str(nl[0])+'*1.0']+[ol[0]]+[str(nl[1])+'*1.0']+[ol[1]]+[str(nl[2])+'*1.0']+[ol[2]]+[str(nl[3])+'*1.0']fornlinnlistforolinolist] #拼湊4個數和3個操作符
#printretlist
#括弧的位置
#(0,3)(0,5)
#(2,5)(2,7)
#(4,7)
#(0,3)和(4,7)
lastlist=[]
forretinretlist:
if('*'notinretand'/'notinret)or('*'inretand'/'inret):
lastlist.append(''.join(ret))
else:
lastlist.append(''.join(['(']+ret[:3]+[')']+ret[3:]))
lastlist.append(''.join(['(']+ret[:5]+[')']+ret[5:]))
lastlist.append(''.join(ret[:2]+['(']+ret[2:5]+[')']+ret[5:]))
lastlist.append(''.join(ret[:2]+['(']+ret[2:7]+[')']))
lastlist.append(''.join(ret[:4]+['(']+ret[4:7]+[')']))
lastlist.append(''.join(['(']+ret[:3]+[')']+ret[3:4]+['(']+ret[4:7]+[')']))
#printlastlist
i=0
forllinlastlist:
try:
ifeval(ll)==24:#計算,每位數*1.0,是防止出現12/5=2的情況
printll.replace('*1.0','')+'=24'#去掉'*1.0'
else:
i+=1
exceptZeroDivisionError,e:
#print'除於0錯誤:'+ll.replace('*1.0','')#表達式中有除於0的
i+=1
continue
ifi==len(lastlist):
print'nooutput!'