日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python输入的数字为什么不能计算_计算器为什么只能进行个位数的计算,每次只能输入一个数字,求...

發(fā)布時(shí)間:2025/3/15 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python输入的数字为什么不能计算_计算器为什么只能进行个位数的计算,每次只能输入一个数字,求... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

# !/usr/bin/python

# -*- coding: UTF-8 -*-

# -*- decoding: UTF-8 -*-

from Tkinter import *

import Tkinter as tk

import string

#import Tkinter # 導(dǎo)入kintert模塊

root = tk.Tk()

#root = Tkinter.Tk()

#root = tkinter.Tk()

root.minsize(280, 500)

root.title('數(shù)字計(jì)算器')

# 1.界面布局

# 顯示面板

result = tk.StringVar()

result.set(0) # 顯示面板顯示結(jié)果1,用于顯示默認(rèn)數(shù)字0

result2 = tk.StringVar() # 顯示面板顯示結(jié)果2,用于顯示計(jì)算過(guò)程

result2.set('')

# 顯示版

label = tk.Label(root, font=('微軟雅黑', 20), bg='#EEE9E9', bd='9', fg='#828282', anchor='se',textvariable=result2) # 設(shè)置運(yùn)算結(jié)果的顯示界面的長(zhǎng),寬距離

label.place(width=280, height=170)

label2 = tk.Label(root, font=('微軟雅黑', 30), bg='#EEE9E9', bd='9', fg='black', anchor='se',textvariable=result) # 設(shè)置輸入界面的長(zhǎng),寬距離

label2.place(y=170, width=280, height=60)

# 數(shù)字鍵按鈕

btn7 = tk.Button(root, text='7', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('7')) # 對(duì)于鍵位7的位置,寬,高的距離設(shè)置

btn7.place(x=0, y=285, width=70, height=55)

btn8 = tk.Button(root, text='8', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('8')) # 對(duì)于鍵位8的位置,寬,高的距離設(shè)置

btn8.place(x=70, y=285, width=70, height=55)

btn9 = tk.Button(root, text='9', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('9')) # 對(duì)于鍵位9的位置,寬,高的距離設(shè)置

btn9.place(x=140, y=285, width=70, height=55)

btn4 = tk.Button(root, text='4', font=('微軟紅色', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('4')) # 對(duì)于鍵位4的位置,寬,高的距離設(shè)置

btn4.place(x=0, y=340, width=70, height=55)

btn5 = tk.Button(root, text='5', font=('微軟黃色', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('5')) # 對(duì)于鍵位5的位置,寬,高的距離設(shè)置

btn5.place(x=70, y=340, width=70, height=55)

btn6 = tk.Button(root, text='6', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('6')) # 對(duì)于鍵位6的位置,寬,高的距離設(shè)置

btn6.place(x=140, y=340, width=70, height=55)

btn1 = tk.Button(root, text='1', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('1')) # 對(duì)于鍵位1的位置,寬,高的距離設(shè)置

btn1.place(x=0, y=395, width=70, height=55)

btn2 = tk.Button(root, text='2', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('2')) # 對(duì)于鍵位2的位置,寬,高的距離設(shè)置

btn2.place(x=70, y=395, width=70, height=55)

btn3 = tk.Button(root, text='3', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('3')) # 對(duì)于鍵位3的位置,寬,高的距離設(shè)置

btn3.place(x=140, y=395, width=70, height=55)

btn0 = tk.Button(root, text='0', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressNum('0')) # 對(duì)于鍵位0的位置,寬,高的距離設(shè)置

btn0.place(x=70, y=450, width=70, height=55)

# 運(yùn)算符號(hào)按鈕

btnac = tk.Button(root, text='AC', bd=0.5, font=('黑體', 20), fg='orange',command=lambda: pressCompute('AC')) # 設(shè)置運(yùn)算符清除鍵位AC

btnac.place(x=0, y=230, width=70, height=55)

btnback = tk.Button(root, text='←', font=('黑體', 20), fg='#4F4F4F', bd=0.5,command=lambda: pressCompute('b')) # 設(shè)置運(yùn)算符退格鍵位←

btnback.place(x=70, y=230, width=70, height=55)

btndivi = tk.Button(root, text='÷', font=('微軟雅黑', 20), fg='#4F4F4F', bd=0.5,command=lambda: pressCompute('/')) # 設(shè)置運(yùn)算符鍵位除號(hào)

btndivi.place(x=140, y=230, width=70, height=55)

btnmul = tk.Button(root, text='×', font=('微軟雅黑', 20), fg="#4F4F4F", bd=0.5,command=lambda: pressCompute('*')) # 設(shè)置運(yùn)算符鍵位乘號(hào)

btnmul.place(x=210, y=230, width=70, height=55)

btnsub = tk.Button(root, text='-', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressCompute('-')) # 設(shè)置運(yùn)算符鍵位減號(hào)

btnsub.place(x=210, y=285, width=70, height=55)

btnadd = tk.Button(root, text='+ ', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressCompute('+')) # 設(shè)置運(yùn)算符鍵位加號(hào)

btnadd.place(x=210, y=340, width=70, height=55)

btnequ = tk.Button(root, text='=', bg='orange', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressEqual()) # 設(shè)置運(yùn)算符鍵位等號(hào)

btnequ.place(x=210, y=395, width=70, height=110)

btnper = tk.Button(root, text='%', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressCompute('%')) # 設(shè)置運(yùn)算符鍵位百分號(hào)

btnper.place(x=0, y=450, width=70, height=55)

btnpoint = tk.Button(root, text='.', font=('微軟雅黑', 20), fg=('#4F4F4F'), bd=0.5,command=lambda: pressCompute('.')) # 設(shè)置運(yùn)算符鍵位小數(shù)點(diǎn)

btnpoint.place(x=140, y=450, width=70, height=55)

# 操作函數(shù)

lists = [] # 設(shè)置一個(gè)變量 保存運(yùn)算數(shù)字和符號(hào)的列表

isPressSign = False # 添加一個(gè)判斷是否按下運(yùn)算符號(hào)的標(biāo)志,假設(shè)默認(rèn)沒(méi)有按下按鈕

isPressNum = False

# 數(shù)字函數(shù)

def pressNum(num): # 設(shè)置一個(gè)數(shù)字函數(shù) 判斷是否按下數(shù)字 并獲取數(shù)字將數(shù)字寫在顯示版上

global lists # 全局化lists和按鈕狀態(tài)isPressSign

global isPressSign

if isPressSign == False:

pass

else: # 重新將運(yùn)算符號(hào)狀態(tài)設(shè)置為否

result.set(0)

isPressSign = False

# 判斷界面的數(shù)字是否為0

oldnum = result.get() # 第一步

if oldnum == '0': # 如過(guò)界面上數(shù)字為0 則獲取按下的數(shù)字

result.set(num)

else: # 如果界面上的而數(shù)字不是0 則鏈接上新按下的數(shù)字

newnum = oldnum

num

result.set(newnum) # 將按下的數(shù)字寫到面板中

# 運(yùn)算函數(shù)

def pressCompute(sign):

global lists

global isPressSign

num = result.get() # 獲取界面數(shù)字

lists.append(num) # 保存界面獲取的數(shù)字到列表中

lists.append(sign) # 講按下的運(yùn)算符號(hào)保存到列表中

isPressSign = True

if sign == 'AC': # 如果按下的是'AC'按鍵,則清空列表內(nèi)容,講屏幕上的數(shù)字鍵設(shè)置為默認(rèn)數(shù)字0

del lists[:]

#lists.clear()

result.set(0)

if sign == 'b': # 如果按下的是退格‘’,則選取當(dāng)前數(shù)字第一位到倒數(shù)第二位

a = num[0:-1]

del lists[:]

#lists.clear()

result.set(a)

# 獲取運(yùn)算結(jié)果函數(shù)

def pressEqual():

global lists

global isPressSign

curnum = result.get() # 設(shè)置當(dāng)前數(shù)字變量,并獲取添加到列表

lists.append(curnum)

computrStr = ' '.join(lists) # 講列表內(nèi)容用join命令將字符串鏈接起來(lái)

endNum = eval(computrStr) # 用eval命令運(yùn)算字符串中的內(nèi)容

# a = str(endNum)

# b = '=' a #給運(yùn)算結(jié)果前添加一個(gè) ‘=’ 顯示 不過(guò)這樣寫會(huì)有BUG 不能連續(xù)運(yùn)算,這里注釋,不要 =

# c = b[0:10] #所有的運(yùn)算結(jié)果取9位數(shù)

result.set(endNum) # 講運(yùn)算結(jié)果顯示到屏幕1

result2.set(computrStr) # 將運(yùn)算過(guò)程顯示到屏幕2

del lists[:]

# lists.clear() # 清空列表內(nèi)容

#lists.clear()

root.mainloop()

總結(jié)

以上是生活随笔為你收集整理的python输入的数字为什么不能计算_计算器为什么只能进行个位数的计算,每次只能输入一个数字,求...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。