程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python百日刷題計劃】Day9~基礎填空以及編程題

編輯:Python

前言 

本次主要包括<一些基礎填空以及編程題>都是難度不大但是值得一看的題目

推薦一個我正在用的好用刷題網站由此進入免費的刷題練習網站

文章目錄

前言 

題目一:文件操作

題目要求

我的分析

我的答案

題目二:填空題

題目要求

題目分析

題目答案

題目三:個稅計算

題目要求

我的分析

我的答案

題目四:復讀機相加

題目要求

我的分析

我的答案

題目五:猴子偷桃

題目要求

題目分析

題目答案

結語

題目一:文件操作

題目要求

已知當前文件夾中文件data24.txt中有若干使用英文半角逗號分隔的整數,函數main()用
來讀取文件data24.txt中的內容,把每個數字乘以10,返回這些乘積結果組成的列表。
例如,如果文件data24.txt中的內容為
23,34
函數main()會返回[230,340]。
刪除下面代碼中的pass語句,替換為自己的代碼,完成要求的功能。不允許刪除最後的調用的語句

def main()
pass
print(main())

我的分析

該題主要考察的是文件的操作以及列表的使用方法難度不大

我的答案

def main():
lst = []
with open('data24.txt') as f:
for i in f:
ret = i.split(',')
for num in ret:
lst.append(int(num) * 10)
return lst

題目二:填空題

題目要求

填空題:

1、假設有Python程序文件abc.py,其中只有一條語句print(__name__),那麼直接運行該程序時得到的結果為_______

2、假設有Python程序文件abc.py,其中只有一條語句print(__name__),那麼執行語句import abc把文件abc.py作為模塊導入時得到的結果為_______

3、Python自帶的擴展庫管理工具是______如果使用Anaconda3集成開發環境的話,也可以使用_______安裝和管理擴展庫。

4、表達式 int(3.14)的值為_______

5、表達式 [i for i in filter(str.isdigit,[])]的值為_______

題目分析

這些事Python中的一些基本的題目主要考察了模塊,內置函數,生成器表達式,運算符相關面的知識點

題目答案

1、__main__

2、abc

3、pip,conda

4、3

5、[]

題目三:個稅計算

題目要求

企業發放的獎金根據利潤提成。

利潤(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,求應發放獎金總數?

我的分析

這種就是典型的分段求值問題,我第一想到的也是最容易理解的就是if-elif-else方法

我的答案

#profit:利潤
#bonus :獎金
profit = int(input("輸入當年的利潤(萬元):"))
if profit <= 10:
bonus = profit * 0.1
elif 10 < profit <= 20:
bonus = 10 * 0.1 + (profit - 10) * 0.075
elif 20 < profit <= 40:
bonus = 10 * 0.1 + 10 * 0.075 + (profit - 20) * 0.05
elif 40 < profit <= 60:
bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (profit - 20) * 0.03
elif 60 < profit <= 100:
bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (profit - 20) * 0.015
else:
bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (profit - 20) * 0.01
print("應發放獎金總數:%.2f(萬元)" % bonus)
輸出結果:
輸入當年的利潤(萬元):18
應發放獎金總數:1.60(萬元)

題目四:復讀機相加

題目要求

求s=a+aa+aaa+aaaa+aa…a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數 相加),n個數相加,和a都由用戶輸入,要求輸出計算後的結果。

比如輸入 n:3,a:1

則輸出 1 + 11 +111的計算結果:123

我的分析

這道題目考察的主要是循環和字符串的操作

我的答案

a = input('請輸入被加的數字:')
n = int(input('請輸入被加的次數:'))
sum = 0
for i in range(n):
sum += int( (i+1) * a)
print('計算結果是:%s' % sum)
輸出結果:
請輸入被加的數字:1
請輸入被加的次數:3
計算結果是:123

題目五:猴子偷桃

題目要求

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

題目分析

本道題目與數學中的逆向思維相關:按規則反向推斷:猴子有一個桃子,他偷來一個桃子,覺得不夠又偷來了與手上等量的桃子,一 共偷了9天。

題目答案

peach = 1
for i in range(9):
peach += (peach + 1) * 2
print('猴子第一天有%s個桃子' % peach)
輸出結果:
猴子第一天有39365個桃子

結語

別忘了刷題喲由此進入免費好用的刷題網站

感謝各位能夠看到這裡:在魯迅一篇未發表的文章中說過:“代碼看懂了不是懂一定要自己實際操作哇這樣才能更好的理解和吸收。”
最後來一句:一個人可以在任何他懷有無限熱忱的事情上成功,讓我們一起進步吧


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved