❶ python作業
def main():
句子=原始輸入('句子')
words = sentence.split()
臨時= " "
對於范圍內的idx(len(單詞)):
temp = words[idx][0]。上部()
temp = words[idx][1:]
words[idx] = temp
臨時= " "
返回「」。加入(單詞)
❷ python作業 如圖
importfunctools
deffactorial(n):
returnfunctools.rece(lambdax,y:x*y,range(1,n+1))
defint_to_binary(n):
bins=''
ifn==0:return'0'
whilen>0:
bins+=str(n%2)
n>>=1
returnbins[::-1]
deflast_one(n):
bins=int_to_binary(n)
foriinrange(len(bins)-1,-1,-1):
ifbins[i]=='1':
returni
returnNone
❸ python作業求幫助
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#Filename:parabolic
#Projectname:parabolic_equation
"""
..moleauthor::
..Mole.._equation
"""fromsympyimport*
importmatplotlib.pyplotasplt
importnumpyasnp
def_filterComplex(inputvalue,description='inputvalue'):
try:
str(inputvalue).index('I')
exceptValueError:
returnFalse
else:
returnTrue
def_checkBool(inputvalue,description='inputvalue'):
"""
:paraminputvalue:
:paramdescription:
:return:
"""
ifnotisinstance(inputvalue,bool):
raiseTypeError(
'The{0}mustbeboolean.Given:{1!r}'.format(description,inputvalue))
def_checkNumerical(inputvalue,description='inputvalue'):
"""
:paraminputvalue:
:paramdescription:
:return:
"""
try:
inputvalue+1
exceptTypeError:
raiseTypeError(
'The{0}mustbenumerical.Given:{1!r}'.format(description,inputvalue))def_drawTowPara(expr_1,expr_2,inputmin,inputmax,step=0.1):
"""
:paramexpr_1:
:paramexpr_2:
:paraminputmin:
:paraminputmax:
:paramstep:
:paramexpr_1_evalwithY:
:paramexpr_2_evalwithY:
:return:
"""
_checkNumerical(inputmin,'xmin')
_checkNumerical(inputmax,'xmax')
_checkNumerical(step,'step')
y1List=[]
x1List=[]
y2List=[]
x2List=[]
ifexpr_1.verticalisTrue:
x1List=np.arange(inputmin,inputmax,step)
forxinx1List:
y1List.append(expr_1.evaluates_Y(x))
else:
y1List=np.arange(inputmin,inputmax,step)
foryiny1List:
x1List.append(expr_1.evaluates_X(y))
ifexpr_2.verticalisTrue:
x2List=np.arange(inputmin,inputmax,step)
forxinx2List:
y2List.append(expr_2.evaluates_Y(x))
else:
y2List=np.arange(inputmin,inputmax,step)
foryiny2List:
x2List.append(expr_2.evaluates_X(y))
plt.plot(x1List,y1List,'+')
plt.plot(x2List,y2List,'-')
plt.show()def_solveCrossing(expr_1,expr_2):
"""
:paramexpr_1:
:paramexpr_2:
:return:
"""
x=Symbol('x')
y=Symbol('y')
print"Giventhefirstexpression:{0!r}".format(expr_1.expr)
print"Giventhefirstexpression:{0!r}".format(expr_2.expr)
ResultList=solve([expr_1.expr,expr_2.expr],[x,y])
Complex=False
ResultListTrue=[]
foriinrange(0,(len(ResultList)),1):
if_filterComplex(ResultList[i][0],'x')or_filterComplex(ResultList[i][1],'y'):
Complex=True
else:
ResultListTrue.append(ResultList[i])
iflen(ResultListTrue)==0andComplex:
print"Twohyperbolicdonotintersect,andthereisimaginaryvalue."
eliflen(ResultListTrue)==1:
print"Twohyperbolictangent.:"
printResultListTrue
else:
print"Twohyperbolicintersection,andPointsare:"
foriterminResultListTrue:
printitermclassParabolic():
"""
"""
def__init__(self,a,b,c,vertical=True):
"""
:return:
"""
_checkNumerical(a,'a')
_checkNumerical(b,'b')
_checkNumerical(c,'c')
_checkBool(vertical,'vertical')
self.a=a
self.b=b
self.c=c
self.vertical=vertical
self.y=Symbol('y')
self.x=Symbol('x')
self.xarray=[]
self.yarray=[]
ifverticalisTrue:
self.expr=(self.x**2)*self.a+self.x*self.b+self.c
else:
self.expr=(self.y**2)*self.a+self.y*self.b+self.c
def__repr__(self):
"""
:return:
"""
ifself.verticalisTrue:
return"TheEquationlooklike:{0!r}".format(self.expr)
else:
return"TheEquationlooklike:{0!r}".format(self.expr)
defevaluates_X(self,inputvalue):
"""
:paraminputvalue:
:return:
"""
_checkNumerical(inputvalue,'y')
returnself.expr.subs(self.y,inputvalue)
defevaluates_Y(self,inputvalue):
"""
:paraminputvalue:
:return:
"""
_checkNumerical(inputvalue,'x')
returnself.expr.subs(self.x,inputvalue)
defgetArrays(self,inputmin,inputmax,step=1):
"""
:paraminputmin:
:paraminputmax:
:paramstep:
:return:
"""
_checkNumerical(inputmin,'xmin')
_checkNumerical(inputmax,'xmax')
_checkNumerical(step,'step')
ifself.verticalisTrue:
forxinrange(inputmin,inputmax,step):
self.xarray.append(x)
self.yarray.append(self.evaluates_Y(x))
else:
foryinrange(inputmin,inputmax,step):
self.yarray.append(y)
self.xarray.append(self.evaluates_X(y))
defdrawPara(self,inputmin,inputmax,step=1):
"""
:paraminputmin:
:paraminputmax:
:paramstep:
:return:
"""
_checkNumerical(inputmin,'xmin')
_checkNumerical(inputmax,'xmax')
_checkNumerical(step,'step')
yList=[]
xList=[]
ifself.verticalisTrue:
xList=np.arange(inputmin,inputmax,step)
forxinxList:
yList.append(self.evaluates_Y(x))
else:
yList=np.arange(inputmin,inputmax,step)
foryinyList:
xList.append(self.evaluates_X(y))
plt.plot(xList,yList,'+')
plt.show()
if__name__=='__main__':
pa1=Parabolic(-5,3,6)
pa2=Parabolic(-5,2,5,False)
printpa1
printpa2
_solveCrossing(pa1,pa2)
_drawTowPara(pa1,pa2,-10,10,0.1)
# 這就是你想要的,代碼解決了你的大部分問題,可以求兩條雙曲線交點,或者直線與雙曲線交#點,或者兩直線交點.不過定義雙曲線時候使用的是一般式.也也盡可能做了測試,如果有#問題的話,追問吧
❹ python急求簡單作業給一個數組a找出是否有3個元素和為一個定值背包問題
#!/usr/bin/python
#encoding:utf-8
importitertools
defiter_result(alist,target):
formaybeinitertools.combinations(alist,3):
ifsum(maybe)==target:
yieldmaybe
a=[1,5,8,2,6,55,90]
forxiniter_result(a,103):
printx
先不必考慮背包問題的解法,這個問題就是簡單地將所提供列表的任意三個元素抽取為子集--組合問題。python的itertools提供的combinations恰巧提供了這個功能。
❺ python大作業的詳細描述
#encoding=UTF-8==>定義Python代碼的編碼為UTF-8
#石頭剪子布程序
#李忠
importrandom==>導入隨機生成器
#定義石頭剪子布字典
dict={1:'剪子',2:'石頭',3:'布'}==>定義一個字典來保存數字和石頭剪子布的對應關系
forrowindict:==>遍歷字典並在Console上面列印出數字和石頭剪子布的關系
print'編號:',row,'=',dict[row]
print'您出什麼?'
loop=True==>設置loop為True來讓下面的while無限循環
whileloop:==>開始無限循環
you=raw_input('請輸入編號回車:')==>在Console列印提示
try:==>如果下面的代碼出現異常就拋出異常
you=int(you)==>將用戶輸入的字元轉換成int類型
ifyou>=1andyou<=3:==>如果你輸入的數值大於1並且小於3就停止循環
loop=False
else:==>否則繼續循環並且列印以下提示
print'請輸入1-3范圍內的編號'
exceptException,e:==>如果you=int(you)出現錯誤(異常)就輸出下面的提示語
print'請輸入正確的數字編號'
dn=random.randint(1,3)==>在1到3的范圍內隨機產生一個數字
print'你出:',dict[you]==>列印用戶輸入數字所對應的出手類型
print'電腦出:',dict[dn]==>列印計算機隨機產生的數字對應的出手類型
print'結果:',
ifdn==you:==>如果計算機和用戶的數值相同
print'平局'
elif(you>dnandyou-dn==1)oryou+2==dn:==>如果用戶輸入的數值比計算機的隨機數大1或者用戶輸入的數值比計算機的隨機數小2
print'你勝'
else:
print'電腦勝'
❻ python作業:用戶從鍵盤輸入一個長字元串以及要查詢的單詞,統計該單詞出現的次數。
1、雙擊打開pycharm開發工具,創建python項目,然後新建python文件。
❼ python作業:1.設計賬號登錄程序,要求如下:(1)動態獲取用戶名和密碼,格式為"用戶名:密碼"
這個需求沒說清楚用什麼平台,比如是桌面版,還是web版。對所用技術或者庫有沒有什麼限制。
❽ 兩個python作業
#第一題:
s=input("請輸入一個四位數:")
ls=list(s)
sum=0
foriinls:
sum+=eval(i)
print("你輸入的四位數是:{},它的數字之和是:{}".format(s,sum))
#第二題
counts=0
years=[]
foriinrange(2019,2120):
if(i%4==0andi%100!=0)or(i%400==0):
counts+=1
years.append(i)
print("閏年的個數是{}, 分別是{}".format(counts,years))
❾ Python 作業啊,求各位大蝦幫忙。
answer 1:
def is_divisble(x, y):
if x % y == 0:
print('%s is divisible by %s'% (x, y))
return True
else:
print('%s is not divisible by %s'% (x, y))
return False
while True:
x = int(raw_input('Enter an integer : '))
y = int(raw_input('Enter another integer : '))
if is_divisble(x, y):
break;
answer 2:
def isPrime(d):
for i in range(2, d-1):
if d%i == 0:
return False
return True
integer = int(raw_input('Enter a number greater than 2: '))
result = 1
for j in range(2, integer):
if isPrime(j):
print j
result *= j
print(result if result > 1 else 'null')
ps: about this question, you sure your example is right? 2 is odd number too.
answer 3:
def power(d):
return [d, d**2, d**3, d**4]
def display(a):
row = ''
for i in a:
s = str(i)
if len(s) < 16:
s += ' ' * (16 - len(s))
row += s
print(row)
while True:
value = int(raw_input('Enter a number greater than 2: '))
if value > 2:
display(['Number', 'Power of 2', 'Power of 3', 'Power of 4'])
display(['-------', '-------', '-------', '-------'])
for j in range(2, value, 2):
display(power(j))
break;
else:
print('Invalid. Number must be greater than 2.')
# all test success and , good luck