版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1,通過選擇結(jié)構(gòu)把一門課的成績轉(zhuǎn)化成績點并輸出,其中績點的計算為了簡
單采用9。?1。0分4.0,8。-89分3.0,70?79分2.0,6。-69分1.0的
規(guī)則。
a=int(input())#輸入成綠
if(90<=a<=100):
b=4.0
elif(80<=a<=89):
b=3.0
elif(70<=a<=79):
b=2.0
elif(60<=a<=69):
b=1.0
else:
b="成績有誤”
print(b)
2.給定一個分段函數(shù),在xNO的時候,y=x9在x<0的時候,為
x=0,實現(xiàn)這個函數(shù)的計算邏輯。
x=int(input())#M\
if(x>=0):
y=x
else:
y=0
print(y)出岔二|
3.給定三個整數(shù)a,b,c,判斷哪個最小。
a=int(input())#^zAa
b=int(input())#獺人b
c=int(input())#獺入c
”““輸出最小的整數(shù)“小
if(a==min(a,b,c)):
print("最小整數(shù)為:a")
if(b==min(a,b,c)):
print("最小整數(shù)為:b")
if(c==min(a,b,c)):
print("最小整數(shù)為:c“)
4,使用循環(huán)計算人工00中所有偶數(shù)的和。
Sum=0
foriinrange(2,101,2):
Sum+=i
print(Sum)f物力:一裁終委
5.水仙花數(shù)是指一個n位數(shù)(n>3),它的每個位上的數(shù)字的n次嘉之和
等于它本身。輸出所有三位數(shù)水仙花數(shù)。
foriinrange(100,1000):
ai=i%10片個位
bi=(i//10)%10#十位
ci=i//1004百位
if((ai*ai*ai+bi*bi*bi+ci*ci*ci)==i):
print(i)
6,斐波那契數(shù)列是一個遞歸定義的數(shù)列,它的前兩項為1,從第三項開始
每項都是前面兩項的和。輸出100以內(nèi)的斐波那契數(shù)列。
a=l
s=l
print(l)
print(l)
whileTrue:
a,s=s,a+s
if(s<=100):
print(s)
else:
break
7.輸入一個數(shù)字,判斷它在不在斐波那契數(shù)列中。
n=int(input())
a=l
s=l
whileTrue:
if(n==s):
print("n",end=")
print(,在斐波那契數(shù)列中)
break
if(n<s):
print(Mn",end=*')
print。不在斐波那契數(shù)列中,)
break
a,s=s,a+s
8.通過自學(xué)遞歸的概念,構(gòu)造一個遞歸函數(shù)實現(xiàn)斐波那契數(shù)列的計算。
deffibonacci(n):
globalfibo
ifninfibo:
returnfibo[n]
r=fibonacci(n-1)+fibonacci(n-2)
fibo[n]=r
returnr
if―name—==*_main_*:
fibo={1:1,2:1)
print(fibonacci(int(input())))
9.通過使用默認參數(shù),實現(xiàn)可以構(gòu)造一個等差數(shù)列的函數(shù),參數(shù)包括等差數(shù)
列的起始、結(jié)束以及公差,注意公差應(yīng)該可以為負數(shù)。
defequidifferent(begin,end,step):
arr=[begin]
if(begin-end)%step!=0:
print("Errorinstep")
return
foriinrange(begin,end,step):
arr.append(i+step)
returnarr
if_name_==,_main_*:
print(equidifferent(100,10,-10))
10.寫一個日期格式化函數(shù),使用鍵值對傳遞參數(shù)。
defFormatDate(year,month,date):
if(month<=0):
printC'sorry,thenumberofmonthmustgreater
than0")
return
elif(month>=13):
printC'sorry,thenumberofmonthmustsmal1er
than13")
return
if(date<=0):
printC'sorry,thenumberofdatemustgreaterthan
0")
return
elif(date>=32):
print("sorry,thenumberofdatemustsmallerthan
32")
return
if(year<0):
year_pre="B.c.
year=-year
else:
year.pre="A.D"
formatstr="{:>6d}{:<5}year{:>3d}month{:>3d}
date".format(year,year_pre,month,date)
returnformatStr
if_name_==*_main_*:
#formalexmaple
print(FormatDate(year=2019,month=2,date=29))
print(FormatDate(month=12,year=1019,date=2))
print(FormatDate(date=19,year=2219,month=2))
print(FormatDate(year=-23,month=2,date=29))
#wrongexample
print(FormatDate(year=2019,month=2,date=32))
print(FormatDate(year=2019,month=13,date=29))
print(FormatDate(year=2019,month=0,date=29))
11.實現(xiàn)能夠返回List中第n大的數(shù)字的函數(shù),n由輸入指定。
importrandom
defmaxN(n,list):
ifn<=0orn>len(list):
print("Errorinn")
return
1ist.sort(reverse=True)
returnlist[n-1]
if_name_==,_mann_*:
list=[random.uniform(0,100)foriinrange(0,10)]
n=int(input())
print(maxN(n,1ist))
12.寫一個函數(shù),求兩個數(shù)的最大公約數(shù)。
importrandom
defmax_divisor(nl,n2):
ifnl<n2:
nl,n2=n2,nl
remainder=nl%n2
whileremainder!=0andremainder!=1:
nl,n2=n2,remainder
remainder=nl%n2
ifremainder==0:
returnn2
elifremainder==1:
return1
if_name_=='_main_*:
nl=random.randint(0,100)
n2=random.randint(0,100)
print(nl,n2)
print(max_divisor(nl,n2))
13.通過循環(huán)和函數(shù),寫一個井字棋游戲,并寫一個井字棋的Alo
#coding:UTF-8
VIIIII
電腦=x=1
人=o=-1
IIIIII
gameover=False
ai_first=False
steps=0
win=0
turn_to_ai=False
turn=False
table=[
r?',?"????"j
riiitiinittij
”111?H
]''
better_pos=[[2,2],
[1,1],
[1,3],
[3,1],
[3,3],
[1,2],
[2,1],
[2,3],
[3,2],
defprinttable():
forrowinrange(3):
print(""+table[row][0]++table[row][1]
+"I"+table[row][2])
ifnotrow==2:
printC'-"*11)
defget_row_value(row):
s=0
foriinrange⑶:
iftable[row][i]==**:
s+=0
eliftabie[row][i]=='o':
s+=-1
eliftabie[row][i]==*x':
s+=1
returns
defget_col_value(col):
s=0
foriinrange(3):
iftabie[i][col]==11:
s+=0
eliftabie[i][col]==
s+=-1
eliftable[i][col]=='x':
s+=1
pass
returns
defget_dia_value(dia):
s=0
#\斜行
ifdia==0:
foriinrange(3):
iftable[i][i]==1':
s+=0
eliftab1e|i|[i]=='o':
s+=-1
eliftable[i][i]=='x':
s+=1
#、/'斜行
elifdia==1:
foriinrange。):
iftable[i][3-l-i]:
s+=0
eliftable[i][3-l-i]=='o'
s+=-1
eliftable[i][3-1-i]=='x*:
s+=1
returns
defget_line_score():
res_array=[-10,-10,-10,-10,-10,-10,-10,-10]
foriinrange(8):
ifint(i/3)==0:
res_array[i]=(get_row_value(i%3))
ifint(i/3)==1:
res_array[i]=(get_col_value(i%3))
ifint(i/3)==2:
res_array[i]=(get_dia_value(i%3))
returnres_array
defjudge():
res_arr=get_line_score()
#print('judge()1,res_arr)
foriinrange(len(res_arr)):
ifabs(res_arr[i])==3:
globalgameover
gameover=True
globalsteps
steps=0
globalwin
ifai.first:
ifsteps%2==1:
win=1
else:
win=-1
else:
ifsteps%2==0:
win=1
else:
win=-1
printCgameover*)
ifwin==1:
print("I****computerwin****「)
elifwin==-1:
print("I****computerwin****「')
ifsteps==9:
gameover=True
steps=0
print(*gameover1)
print,平局****「')
deffind_goal(res_arr,v):
foriinrange(len(res_arr)):
ifres.arr[i]==v:
print(*|v|=2:(v,i,arr[i])1,v,i
res_arr[i])
ifint(i/3)==0:
forjinrange(3):
if(table[int(i%3)][j])==
return[i+1,j+1]
elifint(i/3)==1:
forjinrange⑶:
if(table[j][int(i%3)])==
return[j+1,int(i%3)+1]
elifint(i/3)==2:
#\
ifi%3==0:
forjinrange⑶:
iftable[j][j]==1,:
return[j+1,j+1]
#V1
ifi%3==1:
forjinrange(3):
iftable[j][3-l-j]:
return[j+1,(3-l-j)+l]
else:
return[]
defcal_position():
printC'caVpositionO')
res_arr=get_line_score()
#找我方2連
p=find_goal(res_arr,2)
iflen(p)==2:
printC'p_2",p)
returnp
#如果我方?jīng)]有2連就找敵方2連
p=find.goal(res_arr,-2)
iflen(p)==2:
pr-int("p_-2",p)
returnp
#如果沒有2連,不管那么多啦!直接根據(jù)最優(yōu)位置放置棋子
fori1nrange(len(better_pos)):
p=better_pos[i]
iftable[p[0]-l]=='1:
better_pos.remove(better_pos[i])
print("p_%d",i,p)
returnp
else:
print(usomebuginsomewhere!")
first_flag=False
whilenotfirst_flag:
first=input。請選擇L電腦先下或者2:您先下:\n”)
iffirstnotin['1','2']:
print。請選1或2不要亂選哦”)
elifstr(first)=='1':
ai_first=True
turn_to_ai=True
first_flag=True
break
elifstr(first)==*2':
ai_first=False
first_flag=True
break
whilenotgameover:
ifturn_to_ai:
pos=cal_position()
tabie[int(pos[0])-1][int(pos[1])-1]="x"
steps+=1
printtable()
judge()
turn_to_ai=False
else:
pos=input(*inputyourchoisebyrowandcol
(e.g.13):\n')
print(str(pos[0])+str(type(pos[0])))
print(str(pos[l])+str(type(pos[l])))
ifnotpos[0]in["1",
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年大學(xué)化工與制藥專業(yè)大學(xué)物理二月考試題D卷-含答案
- 石河子大學(xué)《運動營養(yǎng)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 模范黨支部申報材料(3篇)
- 石河子大學(xué)《土力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《荷載與結(jié)構(gòu)設(shè)計方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《大數(shù)據(jù)組織與管理》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《娛樂空間設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《無線通信系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《汽車產(chǎn)品運營與組織管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《工程爆破》2022-2023學(xué)年第一學(xué)期期末試卷
- 公司環(huán)境行政處罰事件處置預(yù)案
- 廣東開放大學(xué)風險投資(本2022春)-練習4答案
- DB65∕T 3253-2020 建筑消防設(shè)施質(zhì)量檢測評定規(guī)程
- 二年級蘇教版數(shù)學(xué)上冊《7的乘法口訣》教案(公開課三稿)
- (完整PPT)半導(dǎo)體物理與器件物理課件
- ASTM B366 B366M-20 工廠制造的變形鎳和鎳合金配件標準規(guī)范
- JIS G4304-2021 熱軋不銹鋼板材、薄板材和帶材
- 2022年中級經(jīng)濟師-人力資源管理專業(yè)押題模擬試卷3套及答案解析
- 小學(xué)綜合實踐活動《認識校園植物》優(yōu)秀PPT課件
- XRD在薄膜材料研究中應(yīng)用
- 變壓器專業(yè)詞匯英文翻譯
評論
0/150
提交評論