Python中:c_(i+1) = (c_i,b_(i+1))哪里錯(cuò)了
- 教育綜合
- 2022-06-16 17:43:10
python 這個(gè)正則表達(dá)式哪里錯(cuò)了 請指教
這個(gè)是這樣的~ 正則表達(dá)式 .*(ab)? 匹配時(shí) 首先.*是貪婪匹配會匹配到所有的文本,之后再去匹配(ab)? 因?yàn)槭褂昧? 表示0次或一次,這里因?yàn)闆]有東西可匹配了,匹配了0次,所以使用re.search 時(shí) group(0) 為全部的,group(1) 因?yàn)槔ㄌ栔械腶b沒有匹配到東西,所以為none 同樣的.匹配任意字符,然后后面的(ab)?也可以匹配,所以直接是ok了 group(0)就為第一個(gè)字符e,(ab)?沒有匹配到東西,所以group(1)也為none 想匹配第一次出現(xiàn)的地方,可以使用 re.search(r'.*?(ab)', 'eeabababa') 這時(shí)的group(0)python冒泡排序法求告知哪里錯(cuò)了_(:з」∠)_
冒泡排序算法的運(yùn)作如下:
1. 比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。
2. 對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。這步做完后,最后的元素會是最大的數(shù)。
3. 針對所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
4. 持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
所以可以看出,你代碼僅僅比較了一次相鄰的兩個(gè),而沒有繼續(xù)往后比較,輸出的第三行開始出現(xiàn)問題。至于那個(gè)None,因?yàn)槟愣x函數(shù)沒有返回值的原因。
我給你三個(gè)函數(shù),你對比一下:
deflist_sort_new(list_in):
forjinrange(len(list_in)-1,0,-1):
foriinrange(0,j):
iflist_in[i]>list_in[i+1]:
list_in[i],list_in[i+1]=list_in[i+1],list_in[i]
returnlist_in
deflist_sort_old(list_in):
forjinrange(len(list_in)-1,0,-1):
foriinrange(0,j):
iflist_in[i]>list_in[i+1]:
list_temp=list_in[i]
list_in[i]=list_in[i+1]
list_in[i+1]=list_temp
returnlist_in
deflist_sort_test(list_in):
forjinrange(len(list_in)-1,0,-1):
foriinrange(0,j):
iflist_in[i]>list_in[i+1]:
print"before>>"+str(list_in[i])
list_in[i]=list_in[i+1]
print"after>>"+str(list_in[i])
list_in[i+1]=list_in[i]
print"and>"+str(list_in[i+1])
returnlist_in
list_test=[2,1,3,44,22,53,25,26]
printlist_test
print"*"*20
print(list_sort_test(list_test))
其中函數(shù)list_sort_new()和list_sort_old()都能實(shí)現(xiàn)你的目的,其中l(wèi)ist_sort_new()中使用了指派運(yùn)算, 就相當(dāng)于c語言的i++。 list_sort_old()類似于你的想法,其中j的for實(shí)現(xiàn)了全部比較,而倒序減少了不必要的比較,list_sort_test()告訴了你,為什么需要一個(gè)變量來充當(dāng)緩存。
住好運(yùn)。。。。
請問各位大咖,python下面這段代碼哪里出問了;請幫忙看看,謝謝
第30行錯(cuò)了
改成:
if a == "男" or a== "女":
或者
if a in ("男", "女"):
這句話順序是 if (a=="男) or ("女")
所以才會進(jìn)去
這個(gè)Python代碼哪里錯(cuò)了
1、字典變量賦值需要用等號,比如a = {1:2,3:4} 2、dict在python中屬于系統(tǒng)字段,命名時(shí)盡量避免,就像你不能命名一個(gè)變量為if一樣,會造成挺多問題的。關(guān)于python2.7的問題?請問這段代碼哪里出錯(cuò)了呢?
我來回答吧。你的程序中有幾個(gè)地方寫的不正確,我改了一下現(xiàn)在可以運(yùn)行了(我的編譯環(huán)境是Python3.2)
#!/usr/bin/envpython
#-*-coding:utf8-*-
print('這是求一個(gè)一元二次方程的根的程序,您只需輸入各項(xiàng)的系數(shù),便可以得出方程的根,如若需要退出,請輸入任意字母。')
s='ax*x+bx+c=0'
s=s.strip()
print(s)
a=0
b=0
c=0
defyunsuan(a,b,c):
a=float(input("a:"))
b=float(input("b:"))
c=float(input("c:"))
d=0
e=0
f=0
g=0
h=0
i=0
j=0
k=0
j=b*b
k=4*a*c
d=j-k
ifd<0:
print('此方程無實(shí)數(shù)根。')
return(yunsuan(a,b,c))
else:
e=d**(1./2)
f=e-b
g=-e-b
h=f/a/2
i=g/a/2
print('第一個(gè)根:x=%s第二個(gè)根:x=%s'%(h,i))
return(yunsuan(a,b,c))
print(yunsuan(a,b,c))
input()
結(jié)果:
展開全文閱讀