点击蓝字 关注我们
Python 通关挑战结束了,快来看看自己是否在排行榜上?
没有获奖的小伙伴也不气馁,期待下一次挑战赛中见到你~
参加这次 Python 通关挑战的你,是否记得挑战题目呢?又是否遇到难题?
没有参加此次挑战的小伙伴,也可以一起来学习 Python 知识哦~
此次 Python 通关挑战总共 10 题,但因为篇幅有限,大家也可以扫码添加小蓝入群领取完整答案,还可以额外领取 3 日标准会员哦!
▼扫码查看完整答案▼
01
圆的面积
Python 3 的基本语法,你还记得吗?这个挑战题目中,我们将实现一个简单的程序用来计算圆的面积,并打印输出。
挑战步骤
在 /home/project
目录中,创建一个 Python 脚本 CircleArea.py
。
cd /home/project
touch CircleArea.py
CircleArea.py
能够根据输入的半径计算圆的面积,并把面积打印出来,保留小数点后 10 位(四舍五入)。
请完善下面的代码:
import sysimport math# 请完善代码
最终效果
参考代码
import sys
import math
a=sys.argv[1]
r=float(a)
s=math.pi*r**2
print(f'{s:.10f}')
02
字符串操作
这道挑战题,也比较简单,将实现一个程序来提取文件中大于 5 的数字并依次打印输出。
挑战步骤
首先,下载所需的测试文件:
cd /home/project
wget https://labfile.oss.aliyuncs.com/courses/790/String.txt
这个文件 String.txt 中存储了一个很长的字符串,需要读取并进行处理。
然后,在 /home/project 目录下面,创建一个 FindDigits.py Python 文件:
cd /home/project
touch FindDigits.py
FindDigits.py 中,我们需要完成以下任务:
使用 open 函数打开同级目录下的 String.txt 文件并读取其中的字符串。
依次提取字符串中符合要求的数字,并组合成一个新的字符串,然后打印输出。
最终效果
参考代码
本道题共有两种方法,如下:
方法一:
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 跳过”的游戏,大家玩过吗?游戏规则很简单,听我道来:
几个人轮流进行报数,凡是碰到 7 的倍数,或者尾数为 7 的数字就必须要跳过,否则视为挑战失败。
如下图所见,绿色框中为安全,而报出红色框中数字为失败,接受惩罚。
挑战步骤
首先创建 /home/project
文件,然后写入代码并完善,使之能够返回安全区域全部数字的列表。
最终效果
参考代码
04
挑战福利
本次 Python 通关挑战圆满结束啦!但因为题解内容比较多,无法将所有内容一一讲解。如果想获取全部题解,欢迎添加小蓝或者戳戳文末。
另外,为了庆祝此次挑战活动圆满结束,我还替大家申请到了专属福利,添加小蓝还可获得 3 天标准会员,来体验蓝桥云课的课程哦!
扫码添加小蓝领取会员
行业风向|赛况提醒
干货分享|更多福利
戳戳“阅读原文”直达挑战题解!