环境

python 3.*
def operator(op1,op2,opfu):
#定义符号函数,op1表示第一个运算数值,op2表示第二个,opfu表示运算符号
if opfu not in '+-*/':
return -1
#如果opfu不是这四个符号当中的任何一个,返回值是-1,表示程序出错
if opfu == '+':
qiao = op1+op2
#如果符号是+,那就表示op1加上op2
elif opfu == '-':
qiao = op1 - op2
#如果符号是-,表示op1减去op2
elif opfu == '*':
qiao = op1 * op2
elif opfu == '/':
if op2 == 0:
print('error,not is 0/n')
qiao = None
else:
qiao = op1 / op2
#进行除法运算时除数不能够为0,所以先排除在外,为0是返回值为None,表示程序错误
return qiao
#将运算结果返回
def convert(op):
#定义函数,作用是将用户输入字符串转换为数值型
flag=True
#定义该变量用于判断数值有效性
for i in op:
if i not in '1234567890':
flag=False
break
#op是传进来的字符串,使用循环来判断字符的规范性,如不规范,则flag值为False,并退出循环
if flag==True:
return int(op)
else:
return None
#如果flag的值为True,即数值是规范的,那么将其进行数值类型转换,为整形;否则,返回None,程序错误
if __name__ == '__main__':
#表示,是当作脚本运行
str1 = 'please press first number:\n'
strfu = 'please press a mathfu:\n'
str2 = 'please press second number:\n'
#三个变量给用户输入提示信息,和用户进行交互
while True:
print('q is quit')
#告知q表示退出
opp1 = input(str1)
ch = opp1.strip()[0].lower()
if ch == 'q':
break
#如果ch值,即用户输入的为q,跳出循环
op1 = convert(opp1)
#调用convert函数对第一个数转换数据类型为整形
if op1 ==None:
print('error,please against try!\n')
continue
#如果函数返回值为None,输出提示信息,跳出本次循环,进行下一次循环
while True:
opfu = input(strfu)
if opfu in '+-*/':
break
else:
print('mathfu had error!')
continue
#给用户一个交互是用户输入符号赋值给opfu,符号规范则结束循环;否则,输出提示,然后再次循环。
while True:
op2 = convert(input(str2))
if op2 == None:
print('press had error ,against try!\n')
continue
else:
break
#调用convert函数转换数据类型,这是第二个数值
result = operator(op1,op2,opfu)
#调用之前定义的operator函数进行运算,并将结果复制给result变量
if result != None:
print('计算%d %s %d=%d'%(op1,opfu,op2,result))
#如果结果不为None,即表示程序正常运行,那就输出信息。
#字符串拼接需要注意是为英文符号,还有顺序
print('quited')
#为q退出,并提示信息。

python带参函数(计算器脚本解释标注)的更多相关文章

  1. 定时器(setTimeout/setInterval)调用带参函数失效解决方法

    也许你曾碰到过这样的问题,不管是setInterval()还是setTimeout(),当code参数里放一个带参函数时,定时器都会失效,看下面这个例子: function test(str){ al ...

  2. python第六天函数,定义、调用、不带参函数、带参函数等

    在python定义函数需要用到的关键字是 def  xxxx():,这个关键字就是 defined 的缩写.具体看实例: >>> def hello(): print("你 ...

  3. python带参装饰器的改良版

    简单点就是这种 def deco2(param=1): def _deco2(fun): def __deco2(*args, **kwargs): print (param) fun(*args, ...

  4. Python带括号的计算器

    带括号的计算器也是第一个自我感觉完成最好的 毕竟真的弄了一个多星期 虽然前期这路真的很难走  我会努力加油  将Python学好学踏实 参考了两位博主的文章 http://www.cnblogs.co ...

  5. Python中,关于调用带参函数,一些需要注意的问题(监听时)

    1.如果监听调用的函数不带参数(start()) Button.clicked.connect(start)) def strat(): ... 2.如果监听调用的函数带参数(start(x,y)) ...

  6. Python学习教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  7. Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  8. 定时器(setTimeout和setInterval)调用带参函数失效解决方法

    方法1:用匿名函数包裹  function test(str){  alert(str);  }  var a = "abcde"  setTimeout(function(){  ...

  9. Qt webview调用JavaScript 带参函数

    void MainWindow::on_pushButtonShowMarker_clicked() { QString lat = "104.701681"; QString l ...

随机推荐

  1. 动态路由协议(RIP)

    虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由 ...

  2. 二级联动,三级联动,初学者,纯javascript,不含jQuery

    二级联动: html代码: <body> <select id="province" onchange="getCity(this.options.se ...

  3. 小程序 wepy框架 + iview-weapp的用法

    最近在弄wepy的时候在想有没有什么ui比较合适一点的wepy的,也是在网上看了好久发现iview还不错.引用简单,上手超快,组件绚丽!当然,这里还介绍下微信官方建议的框架也是和不错的,有需要的可以看 ...

  4. Cesium 实现粒子效果贴地(伪)

    有时我们面对这样的需求,需要在地面上放一个周期性放大缩小的标记,可以使用粒子效果实现,但是粒子效果图片很难贴地(如果你知道怎么做,欢迎分享,期待有人打我脸),我只能变通实现一个看似贴地但实际没有贴地的 ...

  5. scp传输提示bash: scp: command not found

    其中一端缺少scp相关的包源[oracle@rac1 dump_dir]$ scp /mnt/dump_dir/expdp_orders_2tabs2* 192.168.X.247:/home/ora ...

  6. windows设置照片查看器为默认的照片查看软件

    复制一下内容到记事本中: 文件名:PotoView.bat 文件内容: @echo off set reg_dir=hklm\SOFTWARE\Microsoft\Windows Photo View ...

  7. python线程(二)代码部分

    使用threading创建线程: from threading import Thread def work(name): print(f"我是线程{name}") if __na ...

  8. 第一周Python学习笔记

    Python 基本语法: ①  Python程序的格式:1.用代码高亮来标识函数丶语句等等 本身的代码高亮并没有实际的意义,只是用来辅助编程人员和阅读人员 更好的识别 2.程序以缩进来标识语句,缩进用 ...

  9. Linux 开启和关闭 Ping 操作

    Linux 默认是开启 ping 操作的,通过以下两种方式可以开启和关闭 ping 操作 . 1.修改内核参数 通过内核参数设置也有两种方式,一种是临时修改,一种是永久修改. 1.1 临时设置 PIN ...

  10. 快速构建H5单页面切换应用

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...