当前位置:首页 > 教育综合 > 正文

Python中:c_(i+1) = (c_i,b_(i+1))哪里错了

python 这个正则表达式哪里错了 请指教

这个是这样的~ 正则表达式 .*(ab)? 匹配时 首先.*是贪婪匹配会匹配到所有的文本,之后再去匹配(ab)? 因为使用了? 表示0次或一次,这里因为没有东西可匹配了,匹配了0次,所以使用re.search 时 group(0) 为全部的,group(1) 因为括号中的ab没有匹配到东西,所以为none 同样的.匹配任意字符,然后后面的(ab)?也可以匹配,所以直接是ok了 group(0)就为第一个字符e,(ab)?没有匹配到东西,所以group(1)也为none 想匹配第一次出现的地方,可以使用 re.search(r'.*?(ab)', 'eeabababa') 这时的group(0)

python冒泡排序法求告知哪里错了_(:з」∠)_

冒泡排序算法的运作如下:

1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

3. 针对所有的元素重复以上的步骤,除了最后一个。

4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。


所以可以看出,你代码仅仅比较了一次相邻的两个,而没有继续往后比较,输出的第三行开始出现问题。至于那个None,因为你定义函数没有返回值的原因。

我给你三个函数,你对比一下:

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))

其中函数list_sort_new()和list_sort_old()都能实现你的目的,其中list_sort_new()中使用了指派运算, 就相当于c语言的i++。 list_sort_old()类似于你的想法,其中j的for实现了全部比较,而倒序减少了不必要的比较,list_sort_test()告诉了你,为什么需要一个变量来充当缓存。

住好运。。。。

请问各位大咖,python下面这段代码哪里出问了;请帮忙看看,谢谢

第30行错了

改成:

if a == "男" or a== "女":

或者

if a in ("男", "女"):


这句话顺序是 if (a=="男) or ("女")

所以才会进去

这个Python代码哪里错了

1、字典变量赋值需要用等号,比如a = {1:2,3:4} 2、dict在python中属于系统字段,命名时尽量避免,就像你不能命名一个变量为if一样,会造成挺多问题的。

关于python2.7的问题?请问这段代码哪里出错了呢?

我来回答吧。你的程序中有几个地方写的不正确,我改了一下现在可以运行了(我的编译环境是Python3.2)

#!/usr/bin/envpython
#-*-coding:utf8-*-
print('这是求一个一元二次方程的根的程序,您只需输入各项的系数,便可以得出方程的根,如若需要退出,请输入任意字母。')
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('此方程无实数根。')
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('第一个根:x=%s第二个根:x=%s'%(h,i))
return(yunsuan(a,b,c))
print(yunsuan(a,b,c))
input()

结果:

展开全文阅读