Python挑战题目,你会了吗?
Python 通關(guān)挑戰(zhàn)結(jié)束了,快來看看自己獲獎(jiǎng)了嗎?
沒有獲獎(jiǎng)的小伙伴也不能灰心哦下一期樓賽我們也在努力“緩沖”中期待下次在排行榜中見到你,來挑戰(zhàn)薅羊毛哦!
這次 Python 挑戰(zhàn)完,你還記得你做了哪些題呢?在挑戰(zhàn)過程中又遇到什么難題了呢?如果你沒有參加挑戰(zhàn),也可以來漲漲知識(shí)哦!
總共有 10 個(gè)挑戰(zhàn)題,因?yàn)閮?nèi)容比較多,無法一一展示,可以戳/獲取全部?jī)?nèi)容:shiyanlou007
01 圓的面積
相信大家都學(xué)過 Python 3 的基本語法吧?這個(gè)挑戰(zhàn)中,我們將實(shí)現(xiàn)一個(gè)簡(jiǎn)單的程序用來計(jì)算圓的面積并打印輸出。
挑戰(zhàn)步驟
在 /home/project 中創(chuàng)建一個(gè) Python 腳本 CircleArea.py。
cd /home/project touch CircleArea.pyCircleArea.py 能夠根據(jù)輸入的半徑計(jì)算圓的面積,并把面積打印出來,保留小數(shù)點(diǎn)后 10 位(四舍五入)。
請(qǐng)完善下面的代碼:
import sys import math#請(qǐng)完善代碼挑戰(zhàn)要求
- 本次挑戰(zhàn)必須使用 Python 3 實(shí)現(xiàn);
- 文件路徑為 /home/project/CircleArea.py ;
- 本題不是使用 input 函數(shù)接收用戶輸入,而是使用命令行參數(shù);
- 圓周率可以使用 math.pi 。
最終效果
參考代碼
這題的難度比較簡(jiǎn)單,僅用補(bǔ)充 4 行代碼就可完成挑戰(zhàn)。
import sys import math a=sys.argv[1] r=float(a) s=math.pi*r**2 print(f'{s:.10f}')02 字符串操作
我們需要實(shí)現(xiàn)一個(gè)程序來提取文件中大于 5 的數(shù)字,然后依次打印輸出。
挑戰(zhàn)步驟
首先,在終端中下載所需的測(cè)試文件:
cd /home/project wget https://labfile.oss.aliyuncs.com/courses/790/String.txt這個(gè)文件 String.txt 中存儲(chǔ)了一個(gè)很長(zhǎng)的字符串,需要讀取并進(jìn)行處理。
在 /home/project 目錄下創(chuàng)建 FindDigits.py Python 文件:
cd /home/project touch FindDigits.pyFindDigits.py 中,我們需要完成以下任務(wù):
使用 open 函數(shù)打開同級(jí)目錄下的 String.txt 文件并讀取其中的字符串。
依次提取字符串中符合要求的數(shù)字,并組合成一個(gè)新的字符串,然后打印輸出。
挑戰(zhàn)要求
- 本次挑戰(zhàn)必須使用 Python 3 實(shí)現(xiàn);
- 請(qǐng)?jiān)?Open 函數(shù)中使用相對(duì)路徑,避免影響檢測(cè)結(jié)果。
- Python 文件路徑為 /home/project/FindDigits.py 。
最終效果
參考代碼
這題的難度也比較簡(jiǎn)單,共有 2 個(gè)方法。
方法一:
with open('String.txt') as f:s = f.read()res = ""for char in s: if char.isdigit() and int(char)>5:res += char print(res)方法二:
with open('String.txt') as g:print(''.join([i for i in g.read() if i.isdigit() and int(i)>5]))03 逢 X 就跳過
不知道大家有沒有玩過“逢 7 跳過”的游戲,游戲規(guī)則很簡(jiǎn)單:
幾個(gè)人輪流報(bào)數(shù),凡遇到 7 的倍數(shù),或者尾數(shù)為 7 的數(shù)字就要跳過,否則為失敗。
比如下圖中,綠色部分的數(shù)字就屬于安全區(qū)域,而報(bào)出紅色部分的數(shù)字就失敗了。
挑戰(zhàn)步驟
首先在 /home/project 目錄下創(chuàng)建 /home/project 文件。然后寫入代碼并完善,使之能夠返回安全區(qū)域全部數(shù)字的列表。
挑戰(zhàn)要求
- 本次挑戰(zhàn)必須使用 Python 3 實(shí)現(xiàn);
- 文件路徑為 /home/project/jumpx.py ;
- 在文件中寫入代碼,返回 1 到 100 之間(包含 1 和 100 )不是 x 的倍數(shù)且不含 x 的數(shù)字組成的列表;
- 請(qǐng)不要修改現(xiàn)有的代碼。
最終效果
參考代碼
如果你有任何編程問題,歡迎戳/:shiyanlou007
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的Python挑战题目,你会了吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 豆瓣评论9.5的《Effective P
- 下一篇: 美赛开赛在即,你准备好了吗?