python 寫的幾道題

2022-05-19 14:21:44 字數 4196 閱讀 4888

'''

#乘法口訣

'''for i in range(1,10):

for j in range(1,i+1):

print("

%d*%d=%2d

" % (i,j,i*j),end="")

print("")

'''

列印出所有的「水仙花數」,所謂「水仙花數」是指乙個三位數,其各位數字立方和等於該數本身。例如:153是乙個「水仙花數」,因為153=1的三次方+5的三次方+3的三次方。

'''for i in range(10,1000):

sum=0

temp=i

while

temp:

sum=sum+(temp%10)**3temp//=10 #

地板除if sum==i:

print

(i)

'''

有 1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?

'''cnt =0

for i in range(1,5):

for j in range(1,5):

for k in range(1,5):

if i!=j and i!=k and j!=k:

print (i*100+j*10+k)

cnt+=1

print (cnt)

'''

企業發放的獎金根據利潤提成。利潤(i)低於或等於 10萬元時,獎金可提 10%;

利潤高於 10萬元,低於 20 萬元時,低於10 萬元的部分按 10%提成,高於 10萬元的部分,可提成 7.5%;

20 萬到40 萬之間時,高於 20 萬元的部分,可提成5%;40萬到 60 萬之間時高於40 萬元的部分,可提成 3%;

60萬到100萬之間時,高於 60 萬元的部分,可提成1.5%,高於100萬元時,超過 100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數?

'''m=input('

請輸入月利潤:')

n=int(m)

if 0:

print('

你的提成是:%d

'%(n*0.1))

elif 100000:

print('

你的提成是:%d

'%(100000*0.1+(n-100000)*0.075))

elif 200000:

print('

你的提成是:%d

'%(100000*0.1+(100000)*0.075+(n-200000)*0.05))

elif 400000:

print('

你的提成是:%d

'%(100000*0.1+(100000)*0.075+200000*0.05+(n-400000)*0.03))

elif 600000:

print('

你的提成是:%d

'%(100000*0.1+(100000)*0.075+200000*0.05+400000*0.03+(n-600000)*0.015))

elif n>1000000:

print('

你的提成是:%d

'%(100000*0.1+(100000)*0.075+200000*0.05+400000*0.03+400000*0.015+(n-1000000)*0.01))

else

:

print('

請確認利潤是否正確

')

'''

乙個整數,它加上 100 後是乙個完全平方數,再加上 168又是乙個完全平方數,請問該數是多少?

'''import

math

num=1

while

true:

if math.sqrt(num+100)-(int(math.sqrt(num+100)))==0 and math.sqrt(num+268)-(int(math.sqrt(num+268)))==0:

print

(num)

break

num+=1

'''

輸入某年某月某日,判斷這一天是這一年的第幾天?

'''import

datetime

das=input('

請輸入年月日(如:20150103) :')

dta=datetime.datetime.strptime(das,'

%y%m%d')

m=(str(das))[:4]+'

0101

'm=datetime.datetime.strptime(m,'

%y%m%d')

h=(int((dta-m).days)+1)

print(h)

'''

輸入三個整數 x,y,z,請把這三個數由小到大輸出。

'''x=input()

y=input()

z=input()

n=0if int(x)>int(y):

if int(z)>int(y):

if int(z)>int(x):

print

(z,x,y)

else

:

print

(x,z,y)

else

:

print

(x,y,z)

elif int(y)print

(z,x,y)

else

:

print(x,y,z)

"""

利用條件運算子的巢狀來完成此題:學習成績》=90分的同學用a表示,60-89分之間的用b表示,60分以下的用c表示。

"""score=int(input('

請輸入分數:'))

if score >=90:

print('

評級為:a')

elif 60:

print('

評級為:b')

else

:

print('

評級為:c

')

'''

輸入乙個list,輸入乙個預期,返回list裡面兩數之和等於預期的下標

例如list=[1,2,3,4] 預期是3,返回下標為0,1

'''def

list_xiabiao_one(listone,assert_value):

if type(listone) is

notlist:

return

false

if type(assert_value) is

notint:

return

false

m=for i in

range(len(listone)):

if type(listone[i]) is

notint:

return

false

for j in

range(len(listone)):

if listone[i]+listone[j]==assert_value and i!=j:

else

:

continue

return

m'''

輸入乙個list,輸入乙個預期,返回list裡面相鄰兩數之和等於預期的下標

例如list=[1,2,3,4] 預期是3,返回下標為0,1

'''def

list_xiabiao_two(listone,assert_value):

if type(listone) is

notlist:

return

false

if type(assert_value) is

notint:

return

false

k=0for i in

range(len(listone)):

if k+1if listone[k]+listone[k+1]==assert_value and k!=k+1:

return k,k+1k+=1

continue

用函式寫幾道題。

1.實現乙個函式,列印乘法口訣表,口訣表的行數和列數自己指定,輸入9,輸出99口訣表,輸入12,輸出1212的乘法口訣表。define crt secure no warnings include includevoid mul int n 自定義的乘法函式。int main 2.使用函式實現兩個數...

幾道趣味題

1.有乙個隨機數發生器,可以產生1到5的隨機數,利用這個隨機發生器,怎樣產生1到7的隨機數 最直接的想法是拿隨機數乘以7然後除以5,但這樣產生的結果並不是等概率的,7 rand 5中產生不了3和6,因而不可行 正確的做法是5 rand rand 然後捨棄最後4個數,剩餘21個數字。每三個數分為一組,...

幾道演算法題

1 n階乘之和 public class test1 sum kk system.out.println sum 2.獲取二維陣列每列最小的值 public class test2 system.out.println sum public long jiecheng int x return su...