【内有福利】Python 挑战,你通关了吗?速来看题解!

2592ac131ef9fe1599c4e18ccccacb26.png

点击蓝字 关注我们

a1afeea2426fcf6b1486b8a43b6746e3.png

Python 通关挑战结束了,快来看看自己获奖了吗?获奖的小伙伴记得私信小蓝领取哦~

f42174b2bf0e8815941c837129e5df05.png

没有获奖的小伙伴也不能灰心,下一期楼赛我们也在努力“缓冲”中!期待下次在排行榜中见到你,来挑战薅羊毛哦!

这次 Python 挑战完,你还记得你做了哪些题呢?在挑战过程中又遇到什么难题了呢?如果你没有参加挑战,也可以来涨涨知识哦!总共有 10 个挑战题,因为内容比较多,无法一一展示,可以戳戳小蓝加入交流群获取全部内容并领取 3 日标准会员哦!

▼戳戳小蓝领取标准会员▼

5460dd38e4bc62ca1cbc132741850657.png

01

圆的面积

相信大家都学过 Python 3 的基本语法吧?这个挑战中,我们将实现一个简单的程序用来计算圆的面积并打印输出。

挑战步骤

在 /home/project 中创建一个 Python 脚本 CircleArea.py

cd /home/project
touch CircleArea.py

CircleArea.py 能够根据输入的半径计算圆的面积,并把面积打印出来,保留小数点后 10 位(四舍五入)。

请完善下面的代码:

import sysimport math# 请完善代码

挑战要求

  • 本次挑战必须使用 Python 3 实现;

  • 文件路径为 /home/project/CircleArea.py ;

  • 本题不是使用 input 函数接收用户输入,而是使用命令行参数

  • 圆周率可以使用 math.pi 。

最终效果

b03efe49d2ab6993001a7cabf2d7e400.png

参考代码

这题的难度比较简单,仅用补充 4 行代码就可完成挑战。

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 文件并读取其中的字符串。

  • 依次提取字符串中符合要求的数字,并组合成一个新的字符串,然后打印输出。

挑战要求

  • 本次挑战必须使用 Python 3 实现;

  • 请在 Open 函数中使用相对路径,避免影响检测结果。

  • Python 文件路径为:

    /home/project/FindDigits.py 

最终效果

1a15a61720e7b3e60a14ce81447d3ba7.png

参考代码

这题的难度也比较简单,共有 2 个方法。

方法一:

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 的数字就要跳过,否则为失败。

比如下图中,绿色部分的数字就属于安全区域,而报出红色部分的数字就失败了。

4d046f5091cbc16fcfed8a58417ad111.png

挑战步骤

首先在/home/project目录下创建  /home/project 文件。然后写入代码并完善,使之能够返回安全区域全部数字的列表。

6f16a6071cfa051ef69352900e60189b.png

挑战要求

  • 本次挑战必须使用 Python 3 实现;

  • 文件路径为  /home/project/jumpx.py ;

  • 在文件中写入代码,返回 1 到 100 之间(包含 1 和 100 )不是 x 的倍数且不含 x 的数字组成的列表;

  • 请不要修改现有的代码。

最终效果

5f2aaac7a4a25949011a40c2c6158d29.png

参考代码

4196f634976dbe4cfb340cecd8a58cce.png

04

福利时间

由于题目比较多,无法一一讲解,如果想获取本期 Python 通关挑战全部解析,可以扫码添加小蓝或者戳戳文末“阅读原文”直达讲解页面

另外,我还替大家申请到了蓝桥云课专属福利,添加小蓝即可获得 3 天标准会员

e25ae661e9648a6173c2df70a7b7a06f.png

扫码添加小蓝领取会员

行业风向|赛况提醒

干货分享|更多福利

a42610851d032c1a8f0ebd43766a0100.gif

戳戳“阅读原文”直达讲解课程!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值