通过这6个挑战来提升您的Python技能

作者 : IT 大叔 本文共3192个字,预计阅读时间需要8分钟 发布时间: 2020-08-11

通过这6个挑战来提升您的Python技能插图

学习Python的最好方法是练习,练习,练习。这就是我们分享这篇文章的原因:因此您可以通过这六个挑战来测试您的基本Python技能。这些练习对每个人都有用,特别是如果您是具有Python概念基础知识的初学者。如果您是绝对的初学者,那么在开始学习之前,请查阅我们的初学者指南以了解一些重要概念可能会有所帮助。

挑战1:测试您的基本技能

您面临的挑战是编写一个可打印以下消息的Python程序。三个输入中的每一个都应在新行上打印。

你好,世界
让我们学习Python
诚挚的,(您的名字在这里)

print ("Hello World")
print ("Let's learn Python")
print ("Sincerely, the Educative Team")

挑战1的解释

首先,我们使用print语句,它将显示结果。我们在中输入文字( )。由于文本是字符串,因此必须在文本两边加上“引号”。要开始第二行文本,我们按Enter键并在第2行和第3行重复此过程,因为每次调用print都会将输出移到新行。如果要处理数字输入,则无需添加引号。

快速提示:对于字符串,可以使用双引号(“”)或单引号('')。如果您的句子或单词使用撇号,则应使用双引号。在我们的示例“让我们学习Python”中,如果使用单引号,则会收到错误消息。

挑战2:测试您对数据类型和变量的了解

您面临的挑战是编写一个Python程序,使用该grav_force变量计算并打印地球与太阳之间的重力。重力公式如下:

F = \ frac {GMm} {r ^ 2}

F是总重力。G是引力常数。M和m是要比较的质量,r是这些质量之间的距离。

下面提供了计算地球和太阳的重力所需的值。

  • G = 6.67 x 10 -11
  • 太阳 = 2.0 x 10 30
  • 地球 = 6.0 x 10 24
  • r = 1.5 x 10 11
G = 6.67 * (10 ** -11)
M = 2.0 * (10 ** 30) # Mass of Sun
m = 6.0 * (10 ** 24) # Mass of Earth
r = 1.5 * (10 ** 11)

grav_force = (G * M * m) / (r ** 2)
print (grav_force)

挑战2的解释

这个挑战实际上比看起来简单!不要让大多数人关心您。我们使用算术运算符执行所有运算。在*操作者乘变量,则\操作者划分的变量,和**执行指数运算。

首先,我们定义每个值(G,M,m,r)。这会将它们存储在grav_force变量中。然后,我们grav_force使用Python语法定义方程式,并要求程序给出print答案。括号实际上是可选的:我们只是用括号将分数的顶部和底部分开。

有趣的事实:地球与太阳之间的重力大约是地球海洋重量总和的3,000倍!

挑战3:测试您对条件语句的了解

您的挑战是编写一个Python程序,使用该if-elif-else语句计算对象的折扣价。

您的条件如下:

  • 如果价格在300或以上,将被打折30%
  • 如果价格介于200和之间300,它将被打折20%
  • 如果价格介于100和之间200,它将被打折10%
  • 如果价格低于的话100,将会被打折。5%
  • 负价没有折扣

您的输入:

price = 350
price = 350

if (price >= 300):
  price *= 0.7 # (1 - 0.3)
elif (price >= 200): 
  price *= 0.8 # (1 - 0.2)
elif (price >= 100):
  price *= 0.1 # (1 - 0.1)
elif (price >= 50):
  price *= 0.05 # (1 - 0.05)
else:
  price

print (price)

挑战3的解释

为了完成这一挑战,我们首先使用Python语法定义价格,然后定义所有条件。您只需要指定每个条件的最低编号,因为在前一个条件中考虑了较高的编号。我们使用来计算折扣价price * (1 - discount)

然后,print我们要求程序以我们的折扣价。

挑战4:测试您的功能知识。

您的挑战是使用rep_cat函数编写一个Python程序,该函数接受两个整数(xy)并将其转换为字符串。字符串值x应重复8次数,字符串值y应重复5次数。y然后,该字符串必须连接到该x字符串,并作为单个数据返回。

您的输入:

= 7
= 2
def rep_cat(x, y):
    return str(x) * 8 + str(y) * 5

print (rep_cat(7, 2))

挑战四的解释

首先,我们使用str( )方法将整数转换为字符串。然后,我们可以使用*运算符将字符串复制所需的次数。为了将字符串链接在一起,我们使用了+运算符,最后,使用该return语句返回了新字符串。

我们print用来显示最终声明。

挑战5:测试您对循环的了解

您的难题是编写Fibonacci函数,使它取一个正数n,并使用循环返回Fibonacci序列中的第n个数字。

斐波那契数列是一个著名的数学公式,其中序列中的每个数字都是其前两个数字的和。顺序如下:0、1、1、2、3、5、8、13、21、34等。

您的输入:

= 10
def fib(n):
  first = 0 
  second = 1

  if n < 1:
    return -1

  if n == 1:
    return first

  if n == 2:
    return second

  count = 3 
  while count <= n:
    fib_n = first + second
    first = second
    second = fib_n
    count += 1 
  return fib_n

n = 10
print (fib(n))

挑战5的解释

这个挑战需要条件语句。如果n小于1,则返回-1,如果n12,则返回第一个或第二个值。请注意,前两个值已设置,因为它们将始终按此顺序固定。

我们使用while循环来完成挑战,但是for循环也会得到相同的结果。我们使用count变量并从此处开始,3因为我们已经知道前两个值。前面的两个术语,second以及随代码的每次迭代而fib_n变成firstsecond

然后,print我们要求程序达到我们指定的值n

挑战6:测试您对数据结构的了解

编写一个Python程序,该程序将数字列表(num_list)的高点和低点分开,然后按该顺序返回低点和高点的数目列表。您将使用该count_low_high()功能。这些是您的参数。

  • 如果数字大于50或被整除3,则认为high
  • 如果不满足这些条件,则考虑数量 low
  • 如果列表为空,它将返回 none

您的输入:

num_list = [77, 9, 95, 2, 51, 29, 12, 136]
def count_low_high(num_list):
  high_list = list(filter(lambda n : n > 50 or n % 3 == 0, num_list))
  low_list = list(filter(lambda n : n <= 50 and not n % 3 == 0, num_list))
  return [len(low_list), len(high_list)]

num_list = [77, 9, 95, 2, 51, 29, 12, 136]

print (count_low_high(num_list))

挑战#6的解释

要完成此挑战,您需要使用filter ( )函数,该函数将high数字过滤到一个列表中,并将low数字过滤到另一个列表中。我们设置用于排序的参数。然后len,我们可以使用该函数,它计算两个列表中的元素。不必使用lambda,但可以简化代码。该lambdas关键字使一个快捷方式申报的功能。

然后,我们输入我们的内容,num_list并要求该程序进入print我们的新列表。

你做到了!

做得好!您已完成所有六个Python挑战!您现在是一位经验更丰富,经验丰富的开发人员。如果您遇到一些挑战,不要灰心。最好的学习方法是确定需要改进和学习的地方。

请记住,每个人都按照自己的节奏和风格来学习,所以请不要将自己的进步与他人进行比较。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 通过这6个挑战来提升您的Python技能

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论