用户:ZCH_Pro查看:28 回复:8 评论:28 创建时间:2020-03-06T17:03:49
【作品展示】

【作品介绍】
海龟编辑器可以发布作品啦!!!心情大喜,制作了个计算器!!!
(训练师做数学题时建议使用······)
【作品源代码】
def add(a, b):
return (a + b)
def subtract(a, b):
return (a - b)
def multiply(a, b):
return (a * b)
def divide(a, b):
return (a / b)
def power(a, b):
return (a ** b)
num1 = float(input('你好,训练师,请输入第一个数字:'))
num2 = float(input('再输入第二个数字:'))
print('选着要进行的运算:')
print('1.相加 2.相减 3.相乘 4.相除 5.乘方')
choice = input('输入你的选择:(1/2/3/4/5)')
result = 0
if (choice == '1'):
result = add(num1, num2)
print(num1, '+', num2, '=', result)
if (choice == '2'):
result = subtract(num1, num2)
print(num1, '-', num2, '=', result)
if (choice == '3'):
result = multiply(num1, num2)
print(num1, '*', num2, '=', result)
if (choice == '4'):
result = divide(num1, num2)
print(num1, '/', num2, '=', result)
if (choice == '5'):
result = power(num1, num2)
print(num1, '**', num2, '=', result)
if (result > 100):
print('计算结果大于100!')
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn
开源盛世给你一个GUI版的
from tkinter import *
m=0
def join(alpha):
v.set(v.get()+alpha)
def inputnumbernot0(num):
global v
if not v.get()[-1] in '%':
join(str(num))
def input0():
global v
if not v.get()[-1] in '%':
join('0')
def inputfhnotjian(fh):
global v
if not v.get()[-1] in '+-×÷.':
join(fh)
def inputjian():
global v
if not v.get()[-1] in '+-.':
join('-')
def inputpoint():
global v
alpha = v.get()
for i in range(len(alpha)-1, -1, -1):
if alpha[i] in '+-×÷':
break
beta = alpha[i:]
flag = ('.' not in beta)
if flag:
join('.')
def inputbfh():
global v
if not v.get()[-1] in '%+-×÷.':
join('%')
def compile_(beta):
alpha = beta
alpha = alpha.replace('×','*')
alpha = alpha.replace('÷','/')
alpha = alpha.replace('%','*0.01')
if alpha[-1] in '+-':
alpha += '0'
if alpha[-1] in '*/':
alpha += '1'
elif alpha == ' ':
alpha=0
return alpha
def getanswer():
alpha = compile_(v.get())
try:
res = eval(alpha)
except [ZeroDivisionError, SyntaxError]:
res = 0
if res == int(res):
res = int(res)
v.set(" " + str(res))
def getanswer_():
alpha = compile_(v.get())
try:
res = eval(alpha)
except [ZeroDivisionError, SyntaxError]:
res = 0
if res == int(res):
res = int(res)
return res
def clear():
v.set(' ')
def backspace():
v.set(v.get()[:-1])
def M(a=True):
global m
b = getanswer_()
if a:
m = b
else:
m = -b
print(m)
def MC():
global m
m=0
def MR():
if v.get()[-1] in '01234567890' and m>=0:
join('+' + str(m))
else:
join(str(m))
root = Tk()
root.title('Calculator')
root.maxsize(300,300)
Label(root,height=4).grid(column=0,row=0)
v = StringVar()
v.set(' ')
Label(root, font=('Century Gothic',40),textvariable = v).place(x=10,y=0)
Button(root, text=' 7 ',command=lambda:inputnumbernot0(7)).grid(column=0, row=1)
Button(root, text=' 8 ', command=lambda: inputnumbernot0(8)).grid(column=1, row=1)
Button(root, text=' 9 ', command=lambda: inputnumbernot0(9)).grid(column=2, row=1)
Button(root, text=' 4 ', command=lambda: inputnumbernot0(4)).grid(column=0, row=2)
Button(root, text=' 5 ', command=lambda: inputnumbernot0(5)).grid(column=1, row=2)
Button(root, text=' 6 ', command=lambda: inputnumbernot0(6)).grid(column=2, row=2)
Button(root, text=' 1 ', command=lambda: inputnumbernot0(1)).grid(column=0, row=3)
Button(root, text=' 2 ', command=lambda: inputnumbernot0(2)).grid(column=1, row=3)
Button(root, text=' 3 ', command=lambda: inputnumbernot0(3)).grid(column=2, row=3)
Button(root, text=' . ',command = inputpoint).grid(column=0, row=4)
Button(root, text=' 0 ',command = input0).grid(column=1, row=4)
Button(root, text=' % ',command=inputbfh).grid(column=2, row=4)
Button(root, text=' + ',command=lambda:inputfhnotjian('+')).grid(column=3, row=1)
Button(root, text=' - ',command = inputjian).grid(column=3, row=2)
Button(root, text=' × ', command=lambda: inputfhnotjian('×')).grid(column=3, row=3)
Button(root, text=' ÷ ', command=lambda: inputfhnotjian('÷')).grid(column=3, row=4)
Button(root, text=' %s ' % chr(9003), bg='yellow',command = backspace).grid(column=4, row=1)
Button(root, text=' C ',bg='red',fg='white',command = clear).grid(column=4, row=2)
Button(root,text = ' = ',height=3,bg='orange',fg='white',command=getanswer).grid(column=4,row=3,rowspan=2)
Button(root,text=' M+ ',command = M).grid(column=5,row=1)
Button(root, text=' M- ',command=lambda:M(False)).grid(column=5, row=2)
Button(root, text=' MR ',command=MR).grid(column=5, row=3)
Button(root, text=' MC ',command=MC).grid(column=5, row=4)
mainloop()
点赞0
评论
Lonely_wanderer<html>
<head>
<script language="JavaScript">
r=new Array(2)
function setStartState(){
state="start"
r[0]="0"
r[1]="0"
operand=""
ix=0
}
function addDigit(n){
//alert(n)
if(state=="gettingInteger"||state=="gettingFloat")
r[ix]=appendDigit(r[ix],n)
else{
r[ix]=""+n
state="gettingInteger"
}
display(r[ix])
}
function appendDigit(n1,n2){
if(n1=="0")
return ""+n2
var s=""
s+=n1
s+=n2
return s
}
function display(s){
document.calculator.total.value=s
}
function addDecimalPoint(){
if(state!="gettingFloat"){
decimal=true
r[ix]+="."
if(state=="haveOperand"||state=="getOperand2")
r[ix]="0."
state="gettingFloat"
display(r[ix])
}
}
function clearDisplay(){
setStartState()
display(r[0])
}
function changeSign(){
if(r[ix].charAt(0)=="-") r[ix]=r[ix].substring(1,r[ix].length)
else if(parseFloat(r[ix])!=0) r[ix]="-"+r[ix]
display(r[ix])
}
function calc(){
if(state=="gettingInteger"||state=="gettingFloat"||state=="haveOperand"){
if(ix==1){
r[0]=calculateOperation(operand,r[0],r[1])
ix=0
}
}
else if(state=="getOperand2"){
r[0]=calculateOperation(operand,r[0],r[0])
ix=0
}
state="haveOperand"
decimal=false
display(r[ix])
}
function calculateOperation(op,x,y){
var result=""
if(op=="+"){
result=""+(parseFloat(x)+parseFloat(y))
}else if(op=="-"){
result=""+(parseFloat(x)-parseFloat(y))
}else if(op=="*"){
result=""+(parseFloat(x)*parseFloat(y))
}else if(op=="√"){
result=""+Math.sqrt((parseFloat(x)))
}else if(op=="∧"){
result=""+(Math.pow(parseFloat(x),parseFloat(y)))
}
else if(op=="/"){
if(parseFloat(y)==0){
alert("除数不能为零")
result=0
}else
result=""+(parseFloat(x)/parseFloat(y))
}
return result
}
function performOp(op){
if(state=="start"){
++ix
operand=op
}else if(state=="gettingInteger"||state=="gettingFloat"||state=="haveOperand"){
if(ix==0){
++ix
operand=op
}else{
r[0]=calculateOperation(operand,r[0],r[1])
display(r[0])
operand=op
}
}
state="getOperand2"
decimal=false
}
</script>
</head>
<body>
<script>
setStartState();
</script>
<form name="calculator">
<table border="BORDER" align="center">
<tr>
<td colspan=4 align="left"><input type="text" name="total" value=0 size=55></td>
</tr>
<tr>
<td><input type="button" name="n0" value=" 0 " onclick="addDigit(0);"></td>
<td><input type="button" name="n1" value=" 1 " onclick="addDigit(1);"></td>
<td><input type="button" name="n2" value=" 2 " onclick="addDigit(2);"></td>
<td><input type="button" name="n3" value=" 3 " onclick="addDigit(3);"></td>
</tr>
<tr>
<td><input type="button" name="n4" value=" 4 " onclick="addDigit(4);"></td>
<td><input type="button" name="n5" value=" 5 " onclick="addDigit(5);"></td>
<td><input type="button" name="n6" value=" 6 " onclick="addDigit(6);"></td>
<td><input type="button" name="n7" value=" 7 " onclick="addDigit(7);"></td>
</tr>
<tr>
<td><input type="button" name="n8" value=" 8 " onclick="addDigit(8);"></td>
<td><input type="button" name="n9" value=" 9 " onclick="addDigit(9);"></td>
<td><input type="button" name="decimal" value=" . " onclick="addDecimalPoint();"></td>
<td><input type="button" name="plus" value=" + " onclick="performOp('+');"></td>
</tr>
<tr>
<td><input type="button" name="minus" value=" - " onclick="performOp('-');"</td>
<td><input type="button" name="multiply" value=" * " onclick="performOp('*');"</td>
<td><input type="button" name="except" value=" / " onclick="performOp('/');"</td>
<td><input type="button" name="equals" value=" = " onclick="calc();"</td>
</tr>
<tr>
<td><input type="button" name="sign" value=" +/- " onclick="changeSign('*');"</td>
<td><input type="button" name="clearField" value=" C " onclick="clearDisplay();"</td>
<td><input type="button" name="sqrt" value=" √ " onclick="performOp('√');"</td>
<td><input type="button" name="pow" value=" ∧ " onclick="performOp('∧');"</td>
</tr>
</table>
</form>
</body>
</html>点赞0
评论