A. python實驗求解,急!
第1題
第一空填 True
第二空填 break
第三空填 except Exception as e:pass
while True:
x=input()
try:
x=int(x)
if x>0: break
except Exception as e:pass
print(f"{x:3d}")
源代碼(注意源代碼的縮進)
B. 上機實踐6 組件及事件處理 實驗 組件及事件處理(一) 1實驗目的 學習處理ActionEvent事件。 2實驗內容 編
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Teacher {
int numberOne,numberTwo;
String operator="";
boolean right;
public int giveNumberOne(int n){
numberOne=(int)(Math.random()*n)+1;
return numberOne;
}
public int giveNumberTwo(int n){
numberTwo=(int)(Math.random()*n)+1;
return numberTwo;
}
public String giveOperator(){
double d=Math.random();
if(d>=0.8)
operator="+";
else if(d<0.8&&d>0.5)
operator="-";
else if(d<=0.5&&d>0.2)
operator="*";
else if(d<=0.2)
operator="/";
return operator;
}
public boolean getRight(int answer){
if(operator.equals("+")){
if(answer==numberOne+numberTwo)
right=true;
else
right=false;
}
else if(operator.equals("-")){
if(answer==numberOne-numberTwo)
right=true;
else
right=false;
}
else if(operator.equals("*")){
if(answer==numberOne*numberTwo)
right=true;
else
right=false;
}
else if(operator.equals("/")){
if(answer==numberOne/numberTwo)
right=true;
else
right=false;
}
return right;
}
}
public class ComputerJFrame extends JFrame implements ActionListener{
TextField textOne,textTwo,textResult;
Button getProblem,giveAnswer;
Label operatorLabel,message;
Teacher teacher;
ComputerJFrame(String s){
super(s);
teacher = new Teacher();
setLayout(new FlowLayout());
textOne = new TextField(10);
textTwo = new TextField(10);
textResult = new TextField(10);
operatorLabel = new Label("+");
message = new Label("你還沒有回答呢");
getProblem = new Button("獲取題目");
giveAnswer = new Button("確認答案");
add(getProblem);
add(textOne);
add(operatorLabel);
add(textTwo);
add(new Label("="));
add(textResult);
add(giveAnswer);
add(message);
textResult.requestFocus();
textOne.setEditable(false);//該方法設置文本框的可編輯性
textTwo.setEditable(false);
getProblem.addActionListener(this);//創建監視器
giveAnswer.addActionListener(this);
textResult.addActionListener(this);
setBounds(100,100,450,100);//設置出現屏幕上時的初始位置
setLocationRelativeTo(null);//居中
setVisible(true);//窗口的可見性
validate();
addWindowFocusListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==getProblem){
int number1 = teacher.giveNumberOne(100);
int number2 = teacher.giveNumberTwo(100);
String operator = teacher.giveOperator();
textOne.setText(""+number1);//設置文本框中為參數字元串指定的文本
textTwo.setText(""+number2);
operatorLabel.setText(operator);
message.setText("請回答");
textResult.setText(null);
}
if(e.getSource()==giveAnswer){
String answer = textResult.getText();
try{ int result = Integer.parseInt(answer);
if(teacher.getRight(result)==true){
message.setText("你回答正確");
}
else{
message.setText("你回答錯誤");
}
}
catch(NumberFormatException ex){
message.setText("請輸入數字字元");
}
}
textResult.requestFocus();
validate();
}
}
public class MainClass {
public static void main(String[] args) {
ComputerJFrame frame;
frame = new ComputerJFrame("算術測試");
}
}
C. python程序設計實驗怎麼做做了一天了
import random
def rand6():
return int(random.random()*6) + 1
def gamble(n):
roll = [rand6(), rand6(), rand6()]
bingo = roll.count(n)
if bingo ==0 :
return -1
else:
return bingo
n = 100000
money = 10000
for i in range(n):
money += gamble(rand6())
print(f'money left: {money}')
D. Python實驗操作題,急急急
(1)with as f
(2)with as f i in range(10) f.write(str(i))
2.以追加的方式打開E:\aa.txt文件,任意寫入文字,以「end」作為結束標志。
with open(r'E:\aa.txt', 'a') as f:
for i in range(10):
f.write('任意字元')
3. 打開e:\aa.txt文件,並把該文件的內容復制到e:\bb.txt文件中去。
with open(r'e:\aa.txt') as f:
content = f.read()
with open(r'e:\bb.txt', 'a') as f:
f.write(content)
E. PYQT設計完成,如何用python檢測事件
答: 可以將事件連接到槽函數,然後在槽函數裡面設置相關內容。這樣的話每次事件觸發時,槽函數裡面的內容就可以執行,根據內容也就可以判斷知道哪個事件被觸發了。信號綁定槽函數的方法有如下所示。
就比如說你要捕獲按鈕的點擊事件(clicked),當按鈕(定義為btn)被點擊後,我們調用一個on_click函數(這是我們自己定義的),那麼最後的代碼就是這樣btn.clicked.connect(on_click),就可以把按鈕的點擊事件與槽函數相連。
F. Python中什麼是事件
#encoding:UTF-8
#系統模塊
fromQueueimportQueue,Empty
fromthreadingimport*
########################################################################
classEventManager:
#----------------------------------------------------------------------
def__init__(self):
"""初始化事件管理器"""
#事件對象列表
self.__eventQueue=Queue()
#事件管理器開關
self.__active=False
#事件處理線程
self.__thread=Thread(target=self.__Run)
#這里的__handlers是一個字典,用來保存對應的事件的響應函數
#其中每個鍵對應的值是一個列表,列表中保存了對該事件監聽的響應函數,一對多
self.__handlers={}
#----------------------------------------------------------------------
def__Run(self):
"""引擎運行"""
whileself.__active==True:
try:
#獲取事件的阻塞時間設為1秒
event=self.__eventQueue.get(block=True,timeout=1)
self.__EventProcess(event)
exceptEmpty:
pass
#----------------------------------------------------------------------
def__EventProcess(self,event):
"""處理事件"""
#檢查是否存在對該事件進行監聽的處理函數
ifevent.type_inself.__handlers:
#若存在,則按順序將事件傳遞給處理函數執行
forhandlerinself.__handlers[event.type_]:
handler(event)
#----------------------------------------------------------------------
defStart(self):
"""啟動"""
#將事件管理器設為啟動
self.__active=True
#啟動事件處理線程
self.__thread.start()
#----------------------------------------------------------------------
defStop(self):
"""停止"""
#將事件管理器設為停止
self.__active=False
#等待事件處理線程退出
self.__thread.join()
#----------------------------------------------------------------------
defAddEventListener(self,type_,handler):
"""綁定事件和監聽器處理函數"""
#嘗試獲取該事件類型對應的處理函數列表,若無則創建
try:
handlerList=self.__handlers[type_]
exceptKeyError:
handlerList=[]
self.__handlers[type_]=handlerList
#若要注冊的處理器不在該事件的處理器列表中,則注冊該事件
ifhandlernotinhandlerList:
handlerList.append(handler)
#----------------------------------------------------------------------
defRemoveEventListener(self,type_,handler):
"""移除監聽器的處理函數"""
#讀者自己試著實現
#----------------------------------------------------------------------
defSendEvent(self,event):
"""發送事件,向事件隊列中存入事件"""
self.__eventQueue.put(event)
########################################################################
"""事件對象"""
classEvent:
def__init__(self,type_=None):
self.type_=type_#事件類型
self.dict={}#字典用於保存具體的事件數據
測試代碼
#encoding:UTF-8
importsys
fromdatetimeimportdatetime
fromthreadingimport*
fromEventManagerimport*
#事件名稱新文章
EVENT_ARTICAL="Event_Artical"
#事件源公眾號
classPublicAccounts:
def__init__(self,eventManager):
self.__eventManager=eventManager
defWriteNewArtical(self):
#事件對象,寫了新文章
event=Event(type_=EVENT_ARTICAL)
event.dict["artical"]=u'如何寫出更優雅的代碼 '
#發送事件
self.__eventManager.SendEvent(event)
printu'公眾號發送新文章 '
#監聽器訂閱者
classListener:
def__init__(self,username):
self.__username=username
#監聽器的處理函數讀文章
defReadArtical(self,event):
print(u'%s收到新文章'%self.__username)
print(u'正在閱讀新文章內容:%s'%event.dict["artical"])
"""測試函數"""
#--------------------------------------------------------------------
deftest():
listner1=Listener("thinkroom")#訂閱者1
listner2=Listener("steve")#訂閱者2
eventManager=EventManager()
#綁定事件和監聽器響應函數(新文章)
eventManager.AddEventListener(EVENT_ARTICAL,listner1.ReadArtical)
eventManager.AddEventListener(EVENT_ARTICAL,listner2.ReadArtical)
eventManager.Start()
publicAcc=PublicAccounts(eventManager)
timer=Timer(2,publicAcc.WriteNewArtical)
timer.start()
if__name__=='__main__':
test()
G. Python 如何編出一個 「驗證答案」 程序
haodehahah
請採納。。。。
H. python事件可視化跟蹤執行
step by step這種跟蹤是可以實現的。幾乎每個PYTHON的IDLE都可以實現。
另外一個是你自己建立運行態的狀態跟蹤,然後再可視化處理。這里涉及到狀態保存,日誌消息隊列,以及實時同步,GUI界面的事件處理等等,難度略略有些高。想做好不容易,但是做出來不難。可以直接藉助python的logginge模塊,改一改就可以。
最後一種,python大部分情況下單元測試做測試驅動。調試用print。這是大多數情況下做的。比以上兩種都方便,都要快,也是python腳本語言本身決定的。它是小而快的,不是重而全。
I. 一道Python實驗題,求大神幫幫忙,在線等,挺急的,謝謝了。
代碼如下:
import sys
hit_except = False
try:
f = open('123.txt')
while True:
line = f.readline()
print(line,end='')
if not line:
break
except:
hit_except = True
print(f"異常:{sys.exc_info()[0]}")
else:
pass
finally:
if not hit_except:
f.close()
J. 使用python來寫腳本,如何來處理驗證碼的問題,每次登錄時驗證碼都不同,求高人幫忙,謝謝
如果是想讓代碼識別的話,要看驗證碼的復雜程度了,如果比較簡單,使用圖像處理說不定可以解決(我不會,不過網上應該有資料,就算沒有python的,其他語言的也有),但是如果是復雜的,建議你把驗證碼下載下來,如果有圖形界面,就在界面中顯示,如果沒有,就下到一個目錄里,自己取找,然後人工識別吧。