关于python:Python经典面试题交换两个数字三种解法

题目要求:

  1. 有两个整数变量a = 5, b = 10
  2. 不应用其余变量,替换两个变量的值

解法一:应用其余变量

a = 5
b = 10

# 解法一:应用其余变量
# 定义一个两头变量c
c = a # c = 5
a = b # a = 10
b = c # b = 5

# 打印看后果
print(a)
print(b)

执行后果:

应用一个两头变量c,而后让a的值赋值给变量c,此时变量c的值是c = 5,再把变量b的值10赋值给变量a,此时变量a的值是a = 10,最初把变量c的值5赋值给变量b变量b的值是b = 5。

解法二: 不应用长期变量

a = 5
b = 10

# 解法二:不应用其余变量
a = a + b # a = 5 + 10 = 15
b = a - b # b = 15 - 10 = 5
a = a - b # a = 15 - 5 = 10


# 打印看后果
print(a)
print(b)

执行后果:

这个办法可能不是特地好了解,没关系,多看看下面的代码,尝试着多了解几遍就能够了。

解法三: Python专有,利用元组

a = 5
b = 10

# 解法三: Python专有,利用元组
# a, b = (b, a) # 能够省略元组的小括号
# 等号左边是一个元组,只是把小括号省略了
a, b = b, a


# 打印看后果
print(a)
print(b)

执行后果:

利用变量和元组,顺次把元组中的元素传递给绝对应的变量。所以,等号右侧是一个元组,等号左侧是多个变量,咱们用多个变量来接管元祖,在接管的过程中就会把元祖中第一个元素元递给第一个变量,把支援中国第二个元素传递给第二个变量,以此类推。

留神:如果元组中元素个数和变量的个数不相等会报错。

还有更多的Python练习题在python自学网,感兴趣的话大家能够去瞅一瞅,练习本人的开发思维。

文章借鉴起源:
www.wakey.com.cn/article-list-100.html

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据