用来练手的python练习题,原题链接: python练习实例47

题干: 两个变量值互换

在C语言C++中我们要构造一个能交换两个变量值的函数很方便,我们可以使用指针,或者C++中的引用。那么在没有指针的python中如何构造一个可以交换两个变量值的函数呢,我的第一个想法是利用python变量的作用域。使用global关键词的全局变量,代码如下:

def exchange():global aglobal bc = aa = bb = cif __name__ == '__main__':a = 10b = 20print(a,b)exchange()print(a,b)

输出结果如下:

我们使用global关键字后就可以在函数中交换外部全局变量了。但使用全局变量会让我们的代码在重构时产生麻烦。那么我们还可以利用Python的特性,即python函数可以返回任意个数的返回值。实现代码如下:

def exchange(m,n):m,n = n,mreturn (m,n)if __name__ == '__main__':m = 10n = 20m,n = exchange(m,n)print("m的值是:%d"%m)print("n的值是:%d"%n)

输出结果如下:

RUNOOB python练习题47 交换两个变量值相关推荐

  1. python中交换两个变量值的几种方式?

    python中交换两个变量值的几种方式 1.python中独有的,也是最简单的方式: a,b=b,a 2.引入第三个变量,可以看作两个装满牛奶的瓶子a和瓶子b,如果我想交换这两个瓶子中的牛奶,就需要一 ...

  2. 7-利用函数交换两个变量值的方法

    利用函数交换两个变量值的方法 1.利用一个中间变量 void Swap(int *p1,int *p2) {int temp=0;//定义一个中间变量temp=*p1;//把a的值赋给中间变量*p1= ...

  3. PHP怎样交换两个数输出,PHP交换两个变量值

    方法一:交换两个变量的最简单方法是使用第三个临时变量<?php $a = 15; $b = 27; // 交换逻辑 echo " 交换前的数字为: "; echo " ...

  4. 交换两个变量值的几种方法-C语言初学者

    1.借用一个中间变量交换两个变量 #include<stdio.h> int main() {int i=0;int j =0;int n = 0;printf("请输入两个要交 ...

  5. 交换两个变量值的几种方法;

    1.借用一个临时值交换两个变量: #include <stdio.h> int main() {int num1 = 5;int num2 = 8;int temp;//申请一个临时变量p ...

  6. c语言 交换两个变量 指针,C语言程序设计第5章“使用指针参数交换两个变量值”案例...

    使用指针参数交换两个变量值"案例C主讲教师崔玲玲 5.1 " [案例说明]用函数实现两个变量值的交换使其在主调函数 和被调函数中的值一致.要求用指针变量作为函数参数.程 序运行结果 ...

  7. C++交换两个变量值的方法

    简单地列一下交换两个变量值地几种方法. 1.通过第三方实现,这一种也是最最最常见普通的方法: void swap(int *a, int *b) {int tmp = *a;*a = *b;*b = ...

  8. C#交换两个变量值的多种写法

    在学习.Net/C#或者任何一门面向对象语言的初期,大家都写过交换两个变量值,通常是通过临时变量来实现.本篇使用多种方式实现两个变量值的交换. 假设int x =1; int y = 2;现在交换两个 ...

  9. 四种“不使用第三方变量就可以交换两个变量值”的方法

    问题引入: 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换. 代码如下: t = a; a = b; b = t; 在这里插入代码片 但问题的重点是"不使用第三方变 ...

最新文章

  1. centos7下安装docker(11容器操作总结)
  2. 21day学通python_铁乐学python_day21_面向对象编程3
  3. 500万张图片,20万处地标风景,谷歌又放出大型数据集
  4. 基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码
  5. kubectl 命令管理(1)
  6. Linux防火墙-netfilter filter表案列与nat表应用
  7. [工具] Sublime Text 使用指南
  8. 自动光学检测系统(AOI)光学成像系统设计
  9. 百度地图调用笔记:javascript版本2
  10. 计算机 26个英文字母代表数字,excel 输入26个英文字母的三种方法
  11. VLIW技术与嵌入式系统
  12. 一张表看懂英式音标和美式音标的差异
  13. AI行业全面复苏,秋招AI岗位竞争激烈!Tesra超算网络助力找到合适的岗位!
  14. html立体图表样式,项目进度可视化图表
  15. cortex M7 MPU 总结
  16. 深度学习(七)梯度弥散(消散)和梯度爆炸
  17. Nginx关闭或重启后nginx.pid丢失
  18. js 获取鼠标在画布的位置_JS获取鼠标位置(鼠标坐标)
  19. 你会制作点赞吗?(含动图)
  20. BMZCTF 网鼎杯 2018 minified

热门文章

  1. 企业级php第三方支付平台,ThinkPHP新版企业级php第三方api第四方支付平台程序源码商业版 带接口文件等 某宝售价3000元...
  2. 安卓手机突然很卡_你的安卓手机越来越卡?教你4招轻松解决问题!
  3. h5 一镜到底_这些一镜到底的H5还能怎么玩?
  4. Effective C++学习第八天
  5. 【剑指offer】_09二叉搜索树的后序遍历序列
  6. 判断一个字符串是否另一个字符串的右移后的
  7. leetcode283.移动零
  8. Python3函数和代码复用
  9. Java面试题:kafka幂等性+事务
  10. 覆盖所有面试知识点,建议收藏