1. 程式人生 > >菜鳥教程-練習實例答案I

菜鳥教程-練習實例答案I

core 其中a是一個數字 再落下 乘法 white 超過 -1 英文字母 三位數

題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少?

1 #coding=utf-8
2 
3 from itertools import permutations
4 
5 for i in permutations(range(1,5),3):
6     k = ‘‘
7     for j in i:
8         k = k + str(j)
9     print int(k)

題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?

技術分享
 1 #coding=utf-8
 2 
 3 i = int(raw_input(u請輸入利潤:))
 4 earn = [1000000,600000,400000,200000,100000,0]
 5 rat = [0.01,0.015,0.03,0.05,0.075,0.1]
 6 bonus = 0
 7 for m in range(len(earn)):
 8     if i > earn[m]:
 9         bonus += (i-earn[m])*rat[m]
10         i = earn[m]
11 print bonus
View Code

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

技術分享
 1 #coding=utf-8
 2 ‘‘‘
 3 x + 100 = n2, x + 100 + 168 = m2
 4 m + n = i, m - n = j
 5 m = (i+j)/2,正整數
 6 n = (i-j)/2,正整數
 7 ‘‘‘
 8 for i in range(1,85):
 9     if 168 % i == 0:
10         j = 168 / i
11         if (i+j) % 2 == 0 and (i-j) % 2 == 0 and i > j:
12             n = (i-j) / 2
13             x = n * n -100
14
print x
View Code

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

技術分享
1 #coding=utf-8
2 
3 import time
4 
5 time_input = raw_input(u請輸入日期,格式XXXX-XX-XX:)
6 d = time.strptime(time_input,%Y-%m-%d).tm_yday
7 print u這一天是這一年的第%s天 %d
View Code

題目:輸出 9*9 乘法口訣表。

技術分享
1 #coding=utf-8
2 
3 for i in range(1,10):
4     for j in range(1,i+1):
5         print %s*%s=%s  %(i,j,i*j),
6     print ‘‘
View Code

題目:判斷101-200之間有多少個素數,並輸出所有素數。

技術分享
 1 #coding=utf-8
 2 
 3 import math
 4 l = []
 5 for i in range(101,201):
 6     for j in range(2,int(math.sqrt(i)+1)):
 7         if i % j == 0:
 8             break
 9     else:
10         l.append(i)    #for循環結束以後沒有break的i加入到列表l中
11 print l
12 print len(l)
View Code

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

技術分享
 1 #coding=utf-8
 2 
 3 dig_input = int(raw_input(u輸入一個數字:))
 4 l = []
 5 while dig_input != 1:
 6     for i in range(2,dig_input+1):
 7         if dig_input % i == 0:
 8             l.append(i)
 9             dig_input = dig_input / i
10             break
11 print l
View Code

題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。

技術分享
1 #coding=utf-8
2 
3 score = int(raw_input(u輸入分數:))
4 print A if score > 89 else (B if score > 59 else C)
View Code

題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

技術分享
 1 #coding=utf-8
 2 
 3 import re,string
 4 
 5 str_input = raw_input(u輸入一個字符串:)
 6 r1 = re.compile([a-zA-Z])
 7 r2 = re.compile([0-9])
 8 total_letters = len(re.findall(r1,str_input))
 9 total_digits = len(re.findall(r2,str_input))
10 total_whitespace = len(re.findall( ,str_input))
11 total_others = len(str_input) - total_letters - total_digits - total_whitespace
12 print u英文字母的個數為: %d %total_letters
13 print u數字的個數為: %d %total_digits
14 print u空格的個數為: %d %total_whitespace
15 print u其他字符的個數為: %d %total_others
View Code

題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加由鍵盤控制。

技術分享
1 #coding=utf-8
2 
3 m = raw_input(u輸入需要計算數字:)
4 n = int(raw_input(u輸入項數:))
5 l = []
6 for i in range(1,n+1):
7     l.append(int(m*i))
8 print l
9 print sum(l)
View Code

題目:一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.編程找出1000以內的所有完數。

技術分享
1 #coding=utf-8
2 
3 for i in range(2,1001):
4     total = 1
5     for j in range(2,i):
6         if i % j == 0:
7             total += j
8     if i == total:
9         print i
View Code

題目:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高?

技術分享
1 #coding=utf-8
2 
3 length = 100.0
4 up_height = 100.0
5 for i in range(2,12):
6     up_height /= 2
7     length += up_height * 2
8     print 第%d 次反彈高度為%s米,第%d 次落地共經過%s米 %(i-1,up_height,i,length)
View Code

題目:猴子吃桃問題:猴子第一天摘下若幹個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

技術分享
1 #coding=utf-8
2 
3 def peach(n):
4     if n == 1:
5         return 1
6     else:
7         return (peach(n-1) + 1) * 2
8 print peach(10)
View Code

菜鳥教程-練習實例答案I