20212305 實驗二《Python程式設計》實驗報告 20212306 2021-2022-2 《Python程式設計》 實驗二報告
阿新 • • 發佈:2022-04-06
20212306 2021-2022-2 《Python程式設計》 實驗二報告
課程:《Python程式設計》
班級: 2123
姓名:楊貫宇
學號:20212305
實驗教師:王志強
實驗日期:2022年3月31日
必修/選修: 公選課
1 import math 2 print("besti科學計算器") 3 flag=True 4 while flag==True: 5 choice=input("請選擇你要計算的型別(1表示實數型別;2表示虛數型別;3表示實數加虛數型別):\n") 6 if choice=="1": 7 print("如果你選用sin、cos、tan函式or進位制,請將b值設定為1\n") 8 print("如果選用與、或、非電路,a和b的值在0 or 1之間選擇,且非電路的b值為1\n") 9 op=input("請輸入需要做的操作(+、-、*、/、%、a的b次方根、sin、cos、tan、十轉二進位制、十轉八進位制、十轉十六進位制、與、或、非、輸入0代表退出):") 10 11 if op=="0": 12 break 13 else: 14 a=int(input("請輸入第一個實數a\n")) 15 b=int(input("請輸入第二個實數b\n")) 16 elif choice=="2": 17 op=input("請輸入需要做的操作(+、-、輸入0代表退出):") 18 if op=="0": 19 break 20 else: 21 a=complex(input("請輸入第一個虛數a\n")) 22 b=complex(input("請輸入第一個虛數b\n")) 23 elif choice=="3": 24 op=input("請輸入需要做的操作(+、-、輸入0代表退出):") 25 if op=="0": 26 break 27 else: 28 a=int(input("請輸入第一個實數a\n")) 29 b=complex(input("請輸入第一個虛數b\n")) 30 if op=="+": 31 result=a+b 32 elif op=="-": 33 result=a-b 34 elif op=="*": 35 result=a*b 36 elif op=="/": 37 result=a/b 38 elif op=="%": 39 result=a%b 40 elif op=="a的b次方根": 41 result=pow(a,b) 42 print(str(a)+"的"+str(b)+"次方根"+"=",result,"\n") 43 continue 44 elif op=="sin": 45 result=math.sin(a*3.1415927/180) 46 print("sin"+str(a)+"=",result,"\n") 47 continue 48 elif op=="cos": 49 result=math.cos(a*3.1415927/180) 50 print("cos"+str(a)+"=",result,"\n") 51 continue 52 elif op=="tan": 53 result=math.tan(a*3.1415927/180) 54 print("tan"+str(a)+"=",result,"\n") 55 continue 56 elif op=="十轉二進位制": 57 result=bin(a) 58 print(str(a)+"的二進位制"+"=",result,"\n") 59 continue 60 elif op=="十轉八進位制": 61 result=oct(a) 62 print(str(a)+"的八進位制"+"=",result,"\n") 63 continue 64 elif op=="十轉十六進位制": 65 result=hex(a) 66 print(str(a)+"的十六進位制"+"=",result,"\n") 67 continue 68 elif op=="與": 69 if a==b: 70 result=a 71 print(str(a)+"和"+str(b)+"的與電路"+"=",result,"\n") 72 else: 73 result=0 74 print(str(a)+"和"+str(b)+"的與電路"+"=",result,"\n") 75 continue 76 elif op=="或": 77 if a==b: 78 result=a 79 print(str(a)+"和"+str(b)+"的或電路"+"=",result,"\n") 80 else: 81 result=1 82 print(str(a)+"和"+str(b)+"的或電路"+"=",result,"\n") 83 continue 84 elif op=="非": 85 if a==1: 86 result=0 87 print(str(a)+"的非電路"+"=",result,"\n") 88 else: 89 result=1 90 print(str(a)+"的非電路"+"=",result,"\n") 91 continue 92 else: 93 print("輸入有誤,請重新輸入\n") 94 continue 95 print(str(a)+op+str(b)+ "=",result,"\n")
執行結果
上傳git
## 3. 實驗過程中遇到的問題和解決過程 - 問題1:複數計算機不知道如何複數的形式表示出來 - 問題1解決方案:上網搜尋學習解決 - 問題2:沒有注意語句的縮排導致錯誤 - 問題2解決方案:梳理語句,恰當使用tab縮排 - ... ## 其他(感悟、思考等)
這一次報告比上次來說給我帶來的成就感更多,在之前各種問題我只能通過c語言來解決,現在通過學習我用python也能編寫個還不錯的計算機。 這更加激發了我學習python的熱情,也使我更加相信選擇python課是個正確的選擇,期待下一次的實驗報告
課程:《Python程式設計》
班級: 2123
姓名:楊貫宇
學號:20212305
實驗教師:王志強
實驗日期:2022年3月31日
必修/選修: 公選課
1 import math 2 print("besti科學計算器") 3 flag=True 4 while flag==True: 5 choice=input("請選擇你要計算的型別(1表示實數型別;2表示虛數型別;3表示實數加虛數型別):\n") 6 if choice=="1": 7 print("如果你選用sin、cos、tan函式or進位制,請將b值設定為1\n") 8 print("如果選用與、或、非電路,a和b的值在0 or 1之間選擇,且非電路的b值為1\n") 9 op=input("請輸入需要做的操作(+、-、*、/、%、a的b次方根、sin、cos、tan、十轉二進位制、十轉八進位制、十轉十六進位制、與、或、非、輸入0代表退出):") 10 11 if op=="0": 12 break 13 else: 14 a=int(input("請輸入第一個實數a\n")) 15 b=int(input("請輸入第二個實數b\n")) 16 elif choice=="2": 17 op=input("請輸入需要做的操作(+、-、輸入0代表退出):") 18 if op=="0": 19 break 20 else: 21 a=complex(input("請輸入第一個虛數a\n")) 22 b=complex(input("請輸入第一個虛數b\n")) 23 elif choice=="3": 24 op=input("請輸入需要做的操作(+、-、輸入0代表退出):") 25 if op=="0": 26 break 27 else: 28 a=int(input("請輸入第一個實數a\n")) 29 b=complex(input("請輸入第一個虛數b\n")) 30 if op=="+": 31 result=a+b 32 elif op=="-": 33 result=a-b 34 elif op=="*": 35 result=a*b 36 elif op=="/": 37 result=a/b 38 elif op=="%": 39 result=a%b 40 elif op=="a的b次方根": 41 result=pow(a,b) 42 print(str(a)+"的"+str(b)+"次方根"+"=",result,"\n") 43 continue 44 elif op=="sin": 45 result=math.sin(a*3.1415927/180) 46 print("sin"+str(a)+"=",result,"\n") 47 continue 48 elif op=="cos": 49 result=math.cos(a*3.1415927/180) 50 print("cos"+str(a)+"=",result,"\n") 51 continue 52 elif op=="tan": 53 result=math.tan(a*3.1415927/180) 54 print("tan"+str(a)+"=",result,"\n") 55 continue 56 elif op=="十轉二進位制": 57 result=bin(a) 58 print(str(a)+"的二進位制"+"=",result,"\n") 59 continue 60 elif op=="十轉八進位制": 61 result=oct(a) 62 print(str(a)+"的八進位制"+"=",result,"\n") 63 continue 64 elif op=="十轉十六進位制": 65 result=hex(a) 66 print(str(a)+"的十六進位制"+"=",result,"\n") 67 continue 68 elif op=="與": 69 if a==b: 70 result=a 71 print(str(a)+"和"+str(b)+"的與電路"+"=",result,"\n") 72 else: 73 result=0 74 print(str(a)+"和"+str(b)+"的與電路"+"=",result,"\n") 75 continue 76 elif op=="或": 77 if a==b: 78 result=a 79 print(str(a)+"和"+str(b)+"的或電路"+"=",result,"\n") 80 else: 81 result=1 82 print(str(a)+"和"+str(b)+"的或電路"+"=",result,"\n") 83 continue 84 elif op=="非": 85 if a==1: 86 result=0 87 print(str(a)+"的非電路"+"=",result,"\n") 88 else: 89 result=1 90 print(str(a)+"的非電路"+"=",result,"\n") 91 continue 92 else: 93 print("輸入有誤,請重新輸入\n") 94 continue 95 print(str(a)+op+str(b)+ "=",result,"\n")
執行結果
上傳git
## 3. 實驗過程中遇到的問題和解決過程 - 問題1:複數計算機不知道如何複數的形式表示出來 - 問題1解決方案:上網搜尋學習解決 - 問題2:沒有注意語句的縮排導致錯誤 - 問題2解決方案:梳理語句,恰當使用tab縮排 - ... ## 其他(感悟、思考等)
這一次報告比上次來說給我帶來的成就感更多,在之前各種問題我只能通過c語言來解決,現在通過學習我用python也能編寫個還不錯的計算機。 這更加激發了我學習python的熱情,也使我更加相信選擇python課是個正確的選擇,期待下一次的實驗報告 ## 3. 實驗過程中遇到的問題和解決過程 - 問題1:複數計算機不知道如何複數的形式表示出來 - 問題1解決方案:上網搜尋學習解決 - 問題2:沒有注意語句的縮排導致錯誤 - 問題2解決方案:梳理語句,恰當使用tab縮排 - ... ## 其他(感悟、思考等)
這一次報告比上次來說給我帶來的成就感更多,在之前各種問題我只能通過c語言來解決,現在通過學習我用python也能編寫個還不錯的計算機。 這更加激發了我學習python的熱情,也使我更加相信選擇python課是個正確的選擇,期待下一次的實驗報告