日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python课设代码_python课程编程题汇总(上)

發布時間:2025/3/15 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python课设代码_python课程编程题汇总(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python編程題匯總

眾所周知,由于疫情的原因,大家都在上網課,我也不例外啦~

用這個貼子來記錄也和大家分享一下我們課上的編程討論題

中篇在此→python課程編程題匯總(中)

下篇在此→python課程編程題匯總(下)

1、貨幣轉換

編寫貨幣轉換程序

描述:

人民幣和美元是世界上通用的兩種貨幣之一,寫一個程序進行貨幣間幣值轉換,其中:

人民幣和美元間匯率固定為:1美元 = 6.78人民幣。

程序可以接受人民幣或美元輸入,轉換為美元或人民幣輸出。人民幣采用RMB表示,美元USD表示,符號和數值之間沒有空格。

注意:獲得輸入請使用input()

MoneyStr = input("請輸入帶有符號的數值:")

if MoneyStr[-1] in['B','b']:

USD=eval(MoneyStr[0:-3])/6.78

print("轉換后的金額為{:.2f}USD".format(USD))

elif MoneyStr[-1] in['D','d']:

RMB=eval(MoneyStr[0:-3])*6.78

print("轉換后的金額為{:.2f}RMB".format(RMB))

else:

print("輸入格式錯誤")

2、超市買蘋果

需求:收營員輸入蘋果價格單位為元/斤,用戶購買蘋果的重量,單位為斤,計算并且輸出付款金額

注意:用戶輸入用input()函數

轉換函數int(x)、float(x)

DJ = eval(input("請輸入蘋果單價(元/斤):"))

ZL = eval(input("請輸入蘋果重量(斤):"))

print("付款金額為:{:.2f}".format(DJ*ZL))

3、隨機數的產生

編寫程序:

隨機產生一個8位數,每位數字可以是1到6中的任意一個整數

提示:查閱random庫使用,字符串拼接作用

>>> import random

>>> for i in range(8):

a=random.randint(1,6)

print(a,end='')

4、字符串截取

思考與練習

str = ‘hellopython’

1、截取第一位到第四位的字符

2、截取第二位到第八位之前的字符

3、截取字符串的全部字符

4、截取第六個字符到結尾

5、截取從頭開始到倒數第五個字符之前

6、截取第三個字符

7、截取倒數第一個字符

8、逆序截取

9、截取倒數第三位與倒數第一位之前的字符

10、截取倒數第三位到結尾

11、逆序截取,步長為3

>>> str = 'hellopython'

>>> str[0:4]

'hell'

>>> str[1:7]

'ellopy'

>>> str[:]

'hellopython'

>>> str[5:]

'python'

>>> str[:-5]

'hellop'

>>> str[2]

'l'

>>> str[-1]

'n'

>>> str[::-1]

'nohtypolleh'

>>> str[-3:-1]

'ho'

>>> str[-3:]

'hon'

>>> str[::-3]

'ntoe'

5、表達式計算

>>>a=2

>>>b=4

>>>x=6

>>>y=5

>>>c=1

>>>e=2.759

>>>import math

>>>(math.sin(a)+math.sin(b))/(a+b)

0.025415821919625586

>>> 1/3*((a**3+b**3+c**3)**(1/3))

1.3931130654604105

>>> (e**abs(x-y))/(3**x+(6**0.5)*math.sin(y))

0.03128093849812538

6、寫出表達式

按要求寫出Python表達式。

(1)將整數k轉換成實數。

(2)求實數x的小數部分。

(3)求正整數m的個、十、百位數字。

//1

float(k)

//2

x-int(x)

//3

m%10 //個位

m%100//10 //十位

m%1000//100 //百位

7、if-elif-else多分支結構

思考與練習

利用if-elif-else多分支結構

用戶輸入一個x的值,編寫一段程序,利用format輸出x和分段函數的值

x=eval(input("請輸入x:"))

if x>2:

y=4*x-5

elif -1<=x and x<=2:

y=x*x+3

else :

y=-x+10

print("x為{0:.2f},得分段函數的值y={1:.2f}".format(x,y))

8、if-else 二分支結構

思考與練習

利用if-else 二分支結構編寫程序

輸入三條邊長如果能構成三角形就計算周長和面積

a=eval(input("請輸入a邊邊長:"))

b=eval(input("請輸入b邊邊長:"))

c=eval(input("請輸入c邊邊長:"))

triangle=(a+b)>c and (a+c)>b and (b+c)>a and abs(a-b)

if triangle:

C=a+b+c

p=C/2

S=(p*(p-a)*(p-b)*(p-c))**0.5

print("可構成三角形,該三角形的周長為{0:.2f},面積為{1:.2f}".format(C,S))

else:

print("不可構成三角形")

9、蒙特卡羅方法

思考

1、 蒙特卡羅方法的基本思想是什么?

2、 如何利用蒙特卡羅方法求解π?

//1.基本思想:利用概率模型及隨機過程解決一系列實際問題。

//2.構造一個單位正方形和一個單位圓的1/4,計算機隨機產生兩個0-1之間的數作為

//點的橫縱坐標,從點到原點的距離判斷是否在圓內,統計落在1/4圓的個數以及落在

//單位正方形的個數,二者相除再乘以四得到最終結果為 π。

from random import random

from time import perf_counter

DARTS=1000*1000

hits=0.0

start=perf_counter()

for i in range(1,DARTS+1):

(x,y=random(),random())

dist=pow(x**2+y**2,0.5)

if dist<=1.0:

hits=hits+1

pi=4*(hits/DARTS)

print("圓周率的值是:{}".format(pi))

print("運行時間是:{:.5f}s".format(perf_counter()-start))

10、常見的異常錯誤

列舉一些常見的異常錯誤

1、SystemExit:解釋器請求退出

2、Keyboardlnterrupt:用戶請求中斷執行(通常輸入Ctrl + C)

3、Stoplteration:迭代器沒有更多的值

4、StandardError:所有的內建標準異常的基類

5、GeneratorExit:生成器(generator)發生異常來通知退出

6、ArithmeticError:所有數值計算錯誤的基類

7、FloatingPointError:浮點數計算錯誤

8、OverflowError:數值運算超出最大限制

9、ZeroDivisionError:除零錯誤

10、AssertionError :斷言語句失敗

11、AttributeError:對象沒有這個屬性

12、EOFError:沒有內建輸入,到達EOF標記

13、EnvironmentError:操作系統錯誤的基類

14、IOError:輸入/輸出操作失敗

15、OSError:操作系統錯誤

16、WindowsError:系統調用錯誤

17、ImportError:導入模塊/對象失敗

18、LookupError:無效數據查詢的基類

19、IndexError:序列中沒有此索引(index)

20、KeyError:映射中沒有這個鍵

21、MemorryError:內存溢出錯誤

22、NameError:未聲明/初始化對象(沒有屬性)

23、UnboundLocalError :訪問未初始化的本地變量

24、ReferenceError:弱引用(weak reference)試圖訪問已經回收的對象

25、RuntimeError:一般運行時錯誤

26、NotlmplementedError:尚未實現的方法

27、SyntaxError:python語法錯誤

28、IndentationError:縮進錯誤

29、TabError:Tab和空格混用

30、SystemError:一般解釋器系統錯誤

31、TypeError:對類型無效的操作

32、ValueError:傳入無效的參數

33、UnicodeError:Unicode相關的錯誤

34、UnicodeDecodeError:Unicode 解碼時錯誤

35、UnicodeEncodeError:Unicode 編碼時錯誤

36、UnicodeTranslateError :Unicode轉換時錯誤

11、if中判斷的條件

思考與討論

if中判斷的條件是否只有bool類型表達式?能否是str類型,或者其他?

不是,可以是任意數值,例如list類型、str類型、set類型、dict類型,但編譯系統會把這個表達式強制轉成邏輯值

12、循環輸出等腰三角形

使用循環輸出等腰三角形,打印下面圖形

for i in range(1,5):

for j in range(4-i):

print(" ",end="")

for a in range(2*i-1):

print("*",end="")

print("\n")

13、猴子吃桃問題

思考與練習

猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少?

要求:利用遞歸編寫代碼

N=10

n=0

def taozi(n):

n=(n+1)*2

return n

for i in range(N):

if i==0:

n=1

else:

n=taozi(n)

print("第一天摘了{}個桃子".format(n))

14、九九乘法表

思考與練習

利用for循環語句 打印輸出九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print("{}*{}={}".format(i,j,i*j),end=" ")

print("\n")

15、實例“身體質量指數BMI”討論

思考與討論

1、 觀察實例5.1或5.2中的條件區間范圍劃分,思考劃分的規則是什么?

2、 觀察實例代碼5.1中的第8行和第10行,思考為何代碼不按照注釋方式寫全變量的最小邊界?

3、 Python中判斷條件24<=28<25是否合法?其值是什么?

4、 實例代碼5.1中第2行最后的反斜杠\有什么作用?

1、5.1是分別根據不同的范圍標準來劃分,一個是國際BMI標準,一個是國內的標準;5.2是將兩個標準整理后,編寫在同一個程序中的。

2、因為第一個判斷條件中“bmi=18.5不是偏瘦,所以當程序運行時,第一個判斷為Falses時,可得此時的bmi>=18.5,就會進入到第二個判斷條件“bmi<25”,此時的判斷條件就相當于是“18.5<=bmi<25”;第10行同理。

3、合法,值為False

4、作用是分行,避免一行代碼過長

16、各種循環的應用場景

思考與討論

單分支(if語句)、二分支(if-else語句)、多分支(if-elif-else)、if嵌套的應用場景?

1、單分支語句一般應用于只有一個選項,滿足條件時執行,不滿足則不執行的場景

2、二分支語句一般應用于有兩個方案,選擇其中一種執行的場景

3、多分支語句則一般應用于多條件分類執行的場景,如”對不同分數分級的問題“

4、if嵌套語句一般應用于一個條件判斷完后還需判斷條件的問題場景

17、進度條反映了軟件的執行速度,請思考并給出至少2種提高軟件執行速度的方法。

1.盡可能優化算法

2.善于使用函數,使程序變的模塊化

等等

18、猜數字游戲

預設一個0-9之間的整數,讓用戶通過鍵盤輸入所猜的數字,如果大于預設的數,顯示“遺憾,太大了”;小于預設的數,顯示“遺憾,太小了”,如此循環,知道猜中該數,顯示“預測N次,你猜中了!”,其中N是用戶輸入數字的次數。

import random as r

n=r.randint(0,9)

t=eval(input("請輸入你猜測的數字:"))

count=0

while(n!=t):

if t>n:

print("遺憾,太大了")

count=count+1

else:

print("遺憾,太小了")

count=count+1

t=eval(input("請輸入你猜測的數字:"))

print("預測{}次,你猜中了!".format(count))

19、猜數字游戲2.0

讓計算機能夠隨機產生一個預設數字,范圍在0-100之間,其他游戲規則不變。

要求將代碼封裝到函數中。

def caishuzi():

import random as r

n=r.randint(0,100)

t=eval(input("請輸入你猜測的數字:"))

count=0

while(n!=t):

if t>n:

print("遺憾,太大了")

count=count+1

else:

print("遺憾,太小了")

count=count+1

t=eval(input("請輸入你猜測的數字:"))

print("預測{}次,你猜中了!".format(count))

caishuzi()

20、貨幣轉換2.0

匯率計算問題

人民幣和美元間匯率固定為:1美元 = 6.78人民幣

格式要求:20USD 或20RMB

增加如下新功能,完成編寫程序

功能1:根據輸入判斷是人民幣還是美元,進行相應的轉換計算

功能2:程序可以一直運行,直到用戶選擇退出

while(True):

MoneyStr=input("請輸入帶有符號(UBD或RMB)的數值(break)退出:")

if MoneyStr=="break":

break

elif MoneyStr[-1] in ['B','b']:

print("輸入貨幣為人民幣")

USD=eval(MoneyStr[0:-3])/6.78

print("轉換后的金額為{:.2f}USD".format(USD))

elif MoneyStr[-1] in ['D','d']:

print("輸入貨幣為美元")

RMB=eval(MoneyStr[0:-3])*6.78

print("轉換后的金額為{:.2f}RMB".format(RMB))

else:

print("輸入的格式錯誤")

以上只是我個人解法和理解,如果有不同的想法歡迎大家一起討論~

都看到這里了,給我點個贊唄~

總結

以上是生活随笔為你收集整理的python课设代码_python课程编程题汇总(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。