python实战训练:用70行代码写了个山炮计算器!

好了。。。好了。。。各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练。这个,我是想给,那些python基础一般,却想赶紧编出点东西的青年们。好吧,老规矩,先献出代码。

  1. import time
  2. def math_add(x,y):
  3.  
  4. print('add:',x+y)
  5.  
  6. def math_minus(n,m):
  7. print('minus:',n-m)
  8.  
  9. def math_time(a,b):
  10.  
  11. print('time:',int(a)*int(b))
  12. def timer():
  13. import time
  14. time = time.time()
  15.  
  16. print(time)
  17.  
  18. def math_divide(p,o):
  19. print(p/o)
  20.  
  21. def math_squar(x,y):
  22.  
  23. print('add:',x**y)
  24. def math_divide_a(x,y):
  25.  
  26. print('divide:',x//y)
  27. print('remainder:',x%y)
  28. def math_divide_remainder(x,y):
  29.  
  30. print('remainder:',x%y)
  31.  
  32. for i in range(10):
  33. aea = input('what you want to math?')
  34. if aea == '+':
  35. aea1 = int(input('x='))
  36. aea2 = int(input('y='))
  37. math_add(aea1,aea2)
  38.  
  39. elif aea == '-':
  40. aea01 = int(input('x='))
  41. aea02 = int(input('y='))
  42. math_minus(aea01,aea02)
  43.  
  44. elif aea == '*':
  45. aea01 = int(input('x='))
  46. aea02 = int(input('y='))
  47. math_time(aea01,aea02)
  48.  
  49. elif aea == '/':
  50. aea01 = int(input('x='))
  51. aea02 = int(input('y='))
  52. math_divide(aea01,aea02)
  53.  
  54. elif aea == '**':
  55.  
  56. aea01 = int(input('x='))
  57. aea02 = int(input('y='))
  58. math_squar(aea01,aea02)
  59. elif aea == '//':
  60.  
  61. aea01 = int(input('x='))
  62. aea02 = int(input('y='))
  63. math_divide_a(aea01,aea02)
  64. elif aea == '%':
  65.  
  66. aea01 = int(input('x='))
  67. aea02 = int(input('y='))
  68. math_divide_remainder(aea01,aea02)
  69. elif aea == 'time':
  70.  
  71. timer()
  72.  
  73. elif aea=='out of':
  74. break
  75. else:
  76. print('please read you math!!!')

好了。。我现在告诉大家,编写函数式计算器的所需知识:

一、if else elif 判断

二、数学运算

三、变量的存储

四、input用户输入的认识

五、函数与函数式编程的大体了解和函数的操作

然后呢,我将为大家讲一下实战。

首先,我们将定义几个函数。

  1. def add(x,y):
  2. add = x+y
  3. print(add)
  4. return x,y
  5. def minus(x,y):
  6. minus = x-y
  7. print(minus)
  8. return x,y
  9. def time(x,y):
  10. time = x*y
  11. print(time)
  12. return x,y
  13. def divide(x,y):
  14. divide = x/y
  15. print(divide)
  16. return x,y

 本个实战项目的内容是,通过x值和y值进行加减乘除、求余数、整除运算。这次写的代码,我就暂时不说求余数和整除运算了。

第一个函数,加法函数,里面带了两个参数,之后我们会通过用户输入进行传参数。

第二个函数,减法函数,里面也是一样的,也是通过用户输入传参数。
我们把结果赋给了一个和函数同名的变量,并且return返回了x值以及y值。这样的话,稍微稍微改一点点代码,print打印一下这个函数,再把变量传进去,就可以执行了。

大家应该都懂了吧?好,下一步,就是用户输入和判断了。

  1. user_type = input('type you want to math:')

你输入完运算符号,就来到了计算判断了。

  1. if user_type == "+":
  2. x = input(x:)
  3. y = input(y:)
  4. add(x,y)
  5. elif user_type == "-:
  6. x = input(x:)
  7. y = input(y:)
  8. minus(x,y)
  9. elif user_type == '*‘:
  10. x = input(x:)
  11. y = input(y:)
  12. time(x,y)
  13. elif user_type =='/':
  14. x = input(x:)
  15. y = input(y:)
  16. divide(x,y)
  17. else:
  18. print("这是什么玩意?")

判断运算符

这样,你的程序就写完了。还有,我觉得你应该加个while循环,然后再多elif一个判断,输入“out”就break。

好了,我们得跑一次。

跑的非常成功。

好了,谢谢大家长期以来对我的支持。

python实战:用70行代码写了一个山炮计算器!的更多相关文章

  1. 50行代码写的一个插件,破解一个H5小游戏

    小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...

  2. HTML5游戏实战之20行代码实现打地鼠

    之前写过一篇打地鼠的博客70行的代码实现打地鼠游戏,细致思考过后,发现70行代码都有点多余了,应用tangide的控件特性,能够将代码量缩减到20行左右. 先show一下终于成果,点击试玩:打地鼠.或 ...

  3. JS函数 编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。

    编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数. 任务 第一步: 编写代码完成一个函数的定义吧. 第二步: 我们来补充函数体中的控制语句,完成函数功能吧. 提示: ...

  4. Python爬虫教程(16行代码爬百度)

    最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码.首先安装必背包: pip3 install bs4 pip3 install re ...

  5. 代码优化实战,3行代码解决了一百个if else!

    事情是这样的,前段时间做代码review的时候,发现项目中有一个方法代码量超鸡儿多,而且大部分都是写的参数校验的代码,得,我们先抓着缕一缕需求先. 产品需求 找到产品要到了需求文档,需求是这样得: e ...

  6. 【编程教室】PONG - 100行代码写一个弹球游戏

    大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...

  7. HTML5游戏实战(4): 20行代码实现FlappyBird

    这个系列很久没有更新了.几个月前有位读者调侃说,能不能一行代码做一个游戏呢.呵呵,接下来一段时间,我天天都在想这个问题,怎么能让GameBuilder+CanTK进一步简化游戏的开发呢.经过几个月的努 ...

  8. 为了完成这个功能,我竟然用5行代码制作了一个EXE可执行程序

    由于用户访问我们某个网址的路径比较长,最后我们确定了在桌面添加快捷入口的方案,让用户点击快捷入口直接进入直接的网址,而且这个快捷入口要带有指定的logo(排除了新建url快捷方式的方案),所以我决定写 ...

  9. Python 70行代码实现简单算式计算器

    描述:用户输入一系列算式字符串,程序返回计算结果. 要求:不使用eval.exec函数. 实现思路:找到当前字符串优先级最高的表达式,在算术运算中,()优先级最高,则取出算式最底层的(),再进行加减乘 ...

随机推荐

  1. 尝试ipad编程 以失败告终

    浏览器选择: safari,iOS内置浏览器,好用,不过有些限制 iPad上的 safari可以把网页保存为pdf,比iphone上的功能强大多了 qq浏览器用来下载文件,之后文件还可以复制到文件管理 ...

  2. SignalR 行实时通信最大连接数

    SignalR 搭建实时刷新应用虽然非常方便,但是有个问题你必须考虑到,就是一般的浏览器,对于SignalR的全双工通信方式,绝大多数浏览器都只支持6个新窗口,如果你打开第7个,那么新的框口页面是不会 ...

  3. numpy 和tensorflow 中的乘法

    矩阵乘法:tf.matmul()   np.dot() ,@ 逐元素乘法:tf.multiply()  np.multiply()

  4. 路径规划(1)--连接GPS接收端

    从淘宝上入手的GPS接收端U-BLOX M8N,带UART串口连接线. 一.打开树莓派上的UART串口通信 1.下载pi3-miniuart-bt-overlay.dtb,并将dtb文件拷贝到/boo ...

  5. WebApi Owin OAuth

    Microsoft.Owin.Host.SystemWeb    Owin    Microsoft.Owin Microsoft.Owin.Diagnostics    Owin    Micros ...

  6. linux下钉钉,微信

    google-chrome --app=https://im.dingtalk.com/ google-chrome --app=https://wx.qq.com/

  7. JS中冒号的作用

    JS中冒号的作用1.声明对象的成员2.switch语句分支3.三元表达式 1.声明对象的成员 var Book = { Name: '法', Price: 100, Discount : functi ...

  8. JavaScript 集合对象

    1. 集合对象 1.1 Object 关于Object类型的创建和底层存储原理我在另一篇文章有说明: JavaScript 对象属性底层原理 我们知道了大多数情况下Object底层都是Hash结构,我 ...

  9. Linux系统编程——水平触发和边沿触发

    事件模型 EPOLL事件有两种模型: Edge Triggered (ET) 边缘触发只有数据到来才触发,不管缓存区中是否还有数据. Level Triggered (LT) 水平触发只要有数据都会触 ...

  10. 提问:MicrosoftUnderlying input stream returned zero bytes

    报错信息:MicrosoftUnderlying input stream returned zero bytes 报错截图: 查阅资料后,提示 jdbc的bug,不能将一个"NULL&qu ...