Python 挑战,你通关了吗?速来看题解!

Python 通关挑战结束了,快来看看自己获奖了吗?
在这里插入图片描述

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

这次 Python 挑战完,你还记得你做了哪些题呢?在挑战过程中又遇到什么难题了呢?如果你没有参加挑战,也可以来涨涨知识哦!

总共有 10 个挑战题,因为内容比较多,无法一一展示,可以戳/获取全部内容:shiyanlou007

01 圆的面积

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

挑战步骤

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

cd /home/project
touch CircleArea.py

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

请完善下面的代码:

import sys
import math

#请完善代码

挑战要求

  • 本次挑战必须使用 Python 3 实现;
  • 文件路径为 /home/project/CircleArea.py ;
  • 本题不是使用 input 函数接收用户输入,而是使用命令行参数;
  • 圆周率可以使用 math.pi 。

最终效果
在这里插入图片描述

参考代码

这题的难度比较简单,仅用补充 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 。

最终效果

在这里插入图片描述

参考代码

这题的难度也比较简单,共有 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 的数字就要跳过,否则为失败。

比如下图中,绿色部分的数字就属于安全区域,而报出红色部分的数字就失败了。
在这里插入图片描述

挑战步骤

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

挑战要求

  • 本次挑战必须使用 Python 3 实现;
  • 文件路径为 /home/project/jumpx.py ;
  • 在文件中写入代码,返回 1 到 100 之间(包含 1 和 100 )不是 x 的倍数且不含 x 的数字组成的列表;
  • 请不要修改现有的代码。

最终效果
在这里插入图片描述

参考代码
在这里插入图片描述

如果你有任何编程问题,欢迎戳/:shiyanlou007

posted @ 2021-11-30 18:08  蓝桥云课  阅读(188)  评论(0编辑  收藏  举报