2025年七年級信息科技Python猜數字游戲設計考卷_第1頁
2025年七年級信息科技Python猜數字游戲設計考卷_第2頁
2025年七年級信息科技Python猜數字游戲設計考卷_第3頁
2025年七年級信息科技Python猜數字游戲設計考卷_第4頁
2025年七年級信息科技Python猜數字游戲設計考卷_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2025年七年級信息科技Python猜數字游戲設計考卷2025年七年級信息科技Python猜數字游戲設計考卷

姓名:______班級:______學號:______得分:______

(考試時間:90分鐘,滿分:100分)

1.選擇題(共5題,每題2分,計10分)

2.填空題(共4題,每題3分,計12分)

3.判斷題(共3題,每題2分,計6分)

4.簡答題(共2題,每題10分,計20分)

5.編程題(共2題,第1題15分,第2題23分,計38分)

6.案例分析題(共1題,計10分)

7.創(chuàng)新設計題(共1題,計10分)

---

1.選擇題(共5題,每題2分,計10分)

1.下列哪個不是Python合法的標識符?

A.int32

B.3int

C._score

D.if

2.在Python中,哪個語句用于輸出內容?

A.print()

B.echo()

C.output()

D.disp()

3.生成1到100之間隨機整數的正確方法是?

A.random(1,100)

B.random.randint(1,100)

C.rand(1,100)

D.randrange(1,100)

4.循環(huán)語句中,用于跳出當前循環(huán)的關鍵字是?

A.break

B.exit

C.stop

D.quit

5.條件語句中,表示“不等于”的運算符是?

A.=

B.!=

C.<>

D.~=

---

2.填空題(共4題,每題3分,計12分)

6.在Python中,用______語句來表示程序的執(zhí)行流程分支。

7.如果要生成一個0到1之間的隨機浮點數,可以使用______函數。

8.在循環(huán)中,用______語句可以提前結束循環(huán)。

9.Python中,用于輸入用戶數據的函數是______。

---

3.判斷題(共3題,每題2分,計6分)

10.Python語句必須以冒號結尾。

11.變量名可以包含數字,但不能以數字開頭。

12.在Python中,`if`語句必須與`else`語句搭配使用。

---

4.簡答題(共2題,每題10分,計20分)

13.簡述Python中循環(huán)語句的兩種類型及其特點。

14.解釋Python中函數的定義和調用方式,并舉例說明。

---

5.編程題(共2題,第1題15分,第2題23分,計38分)

15.編寫Python代碼,實現一個猜數字游戲:

-程序隨機生成一個1到100之間的整數。

-用戶有5次機會猜測該數字。

-每次猜測后,程序提示用戶“太大”、“太小”或“猜對了”。

-如果5次內猜對,顯示“恭喜你!”,否則顯示正確答案。

(15分)

16.在第15題的基礎上,增加功能:

-記錄用戶每次猜測的數字。

-游戲結束后,顯示用戶所有猜測的數字列表。

-如果用戶猜對,額外提示“你的猜測順序是:[數字列表]”。

(23分)

---

6.案例分析題(共1題,計10分)

17.分析以下Python代碼的功能,并說明其中循環(huán)和條件語句的作用:

```python

count=0

whilecount<5:

num=int(input("請輸入一個數字:"))

ifnum>10:

print("太大")

elifnum<10:

print("太小")

else:

print("猜對了")

break

count+=1

ifcount==5:

print("次數用完,正確答案是10")

```

---

7.創(chuàng)新設計題(共1題,計10分)

18.在猜數字游戲的基礎上,增加難度等級功能:

-用戶可以選擇“簡單”或“困難”模式。

-簡單模式下,數字范圍1-100,5次機會。

-困難模式下,數字范圍1-200,3次機會。

-根據用戶選擇,動態(tài)調整游戲規(guī)則,并輸出相應提示。

---

8.操作題(共2題,每題17分,計34分)

19.設計一個Python程序,用于模擬擲骰子6次的過程。每次擲骰子后,輸出當前骰子的點數,并統(tǒng)計6次擲骰子中每個點數(1到6)出現的次數。最后,輸出每個點數出現的次數統(tǒng)計結果。

20.編寫一個Python程序,實現一個簡單的記賬本功能。程序應允許用戶輸入多筆交易記錄,每筆記錄包含交易類型(收入或支出)、金額和交易日期。用戶可以隨時查詢特定日期的收入總額或支出總額。程序應提供清晰的菜單選項,引導用戶進行操作,并在用戶完成所有操作后,輸出所有交易記錄的匯總信息。

9.編程實現題(共1題,計18分)

21.設計一個Python程序,用于計算用戶輸入的字符串中每個字母的出現次數。程序應忽略大小寫和非字母字符,并按字母順序輸出每個字母及其出現次數。例如,輸入字符串"Hello,World!",輸出應為"a:1,d:1,e:1,h:1,l:3,o:2,r:1,w:1"。

10.邏輯思維題(共1題,計12分)

22.假設有一個Python程序片段如下所示,請分析該程序的功能,并說明其輸出結果。

```python

numbers=[1,2,3,4,5,6,7,8,9,10]

sum_even=0

sum_odd=0

fornuminnumbers:

ifnum%2==0:

sum_even+=num

else:

sum_odd+=num

print("偶數之和:",sum_even)

print("奇數之和:",sum_odd)

```

11.應用題(共1題,計14分)

23.設計一個Python程序,用于模擬一個簡單的圖書館借閱系統(tǒng)。程序應包含以下功能:

-圖書信息錄入:允許用戶輸入圖書的ISBN、書名和作者信息。

-借閱記錄管理:記錄用戶借閱圖書的信息,包括借閱日期和歸還日期。

-圖書查詢:根據ISBN或書名查詢圖書的借閱狀態(tài)(是否已借出)。

-歸還記錄管理:允許用戶輸入歸還日期,并更新圖書的借閱狀態(tài)。

程序應提供清晰的菜單選項,引導用戶進行操作,并在用戶完成所有操作后,輸出所有圖書的借閱狀態(tài)匯總信息。

12.創(chuàng)新設計題(共1題,計16分)

24.設計一個Python程序,實現一個簡單的密碼生成器。程序應允許用戶選擇密碼長度,并選擇是否包含大寫字母、小寫字母、數字和特殊字符。根據用戶的選擇,程序應生成一個符合條件的隨機密碼,并輸出密碼。例如,用戶選擇密碼長度為12,包含大寫字母、小寫字母和數字,程序應生成一個如"X3tYb5N2qW8"的密碼。

13.算法設計題(共1題,計20分)

25.設計一個Python程序,實現一個簡單的排序算法。程序應允許用戶輸入一組數字,并選擇排序方式(升序或降序)。程序應根據用戶選擇的排序方式,對輸入的數字進行排序,并輸出排序后的結果。例如,用戶輸入數字[5,2,8,1,9],選擇升序排序,程序應輸出[1,2,5,8,9]。

14.綜合應用題(共1題,計22分)

26.設計一個Python程序,實現一個簡單的學生成績管理系統(tǒng)。程序應包含以下功能:

-學生信息錄入:允許用戶輸入學生的學號、姓名和各科成績(如數學、語文、英語)。

-成績查詢:根據學號或姓名查詢學生的成績信息。

-成績統(tǒng)計:計算每個學生的平均成績,并輸出排名前五的學生信息。

-成績修改:允許用戶修改學生的成績信息。

程序應提供清晰的菜單選項,引導用戶進行操作,并在用戶完成所有操作后,輸出所有學生的成績統(tǒng)計信息。

15.拓展應用題(共1題,計24分)

27.設計一個Python程序,實現一個簡單的在線購物系統(tǒng)。程序應包含以下功能:

-商品信息錄入:允許用戶輸入商品的編號、名稱和價格。

-購物車管理:允許用戶添加商品到購物車,查看購物車中的商品列表,以及修改購物車中的商品數量。

-訂單生成:允許用戶生成訂單,并輸出訂單的總金額。

-支付管理:允許用戶選擇支付方式(如現金、信用卡、支付寶),并輸出支付成功的信息。

程序應提供清晰的菜單選項,引導用戶進行操作,并在用戶完成所有操作后,輸出所有訂單的匯總信息。

---

1.選擇題(共5題,每題2分,計10分)

1.B

2.A

3.B

4.A

5.B

2.填空題(共4題,每題3分,計12分)

6.條件語句

7.random.random()

8.break

9.input()

3.判斷題(共3題,每題2分,計6分)

10.×

11.√

12.×

4.簡答題(共2題,每題10分,計20分)

13.循環(huán)語句有兩種類型:for循環(huán)和while循環(huán)。for循環(huán)適用于遍歷序列(如列表、字符串)或指定次數的重復操作;while循環(huán)適用于條件為真的情況下重復執(zhí)行代碼塊,直到條件不再滿足。

14.函數的定義使用def關鍵字,格式為:`def函數名(參數列表):`,后面是函數體。調用方式為:`函數名(實參列表)`。例如:

```python

defgreet(name):

print("Hello,"+name)

greet("Alice")

```

5.編程題(共2題,第1題15分,第2題23分,計38分)

15.

```python

importrandom

target=random.randint(1,100)

attempts=5

print("猜一個1到100之間的數字,你有5次機會。")

foriinrange(attempts):

guess=int(input("請輸入你的猜測:"))

ifguess>target:

print("太大")

elifguess<target:

print("太小")

else:

print("恭喜你!")

break

else:

print("次數用完,正確答案是",target)

```

16.

```python

importrandom

target=random.randint(1,100)

attempts=5

guesses=[]

print("猜一個1到100之間的數字,你有5次機會。")

foriinrange(attempts):

guess=int(input("請輸入你的猜測:"))

guesses.append(guess)

ifguess>target:

print("太大")

elifguess<target:

print("太小")

else:

print("恭喜你!你的猜測順序是:",guesses)

break

else:

print("次數用完,正確答案是",target)

```

6.案例分析題(共1題,計10分)

17.該程序實現了一個猜數字游戲,用戶有5次機會猜測一個1到10之間的數字。程序使用while循環(huán)控制猜測次數,每次用戶輸入一個數字后,程序使用if-elif-else條件語句判斷用戶輸入的數字與目標數字的大小關系,并給出相應提示。如果用戶在5次內猜對,程序會輸出“猜對了”并結束循環(huán);如果5次都猜不對,程序會輸出正確答案。

7.創(chuàng)新設計題(共1題,計10分)

18.

```python

importrandom

defget_target_and_attempts(level):

iflevel=="簡單":

returnrandom.randint(1,100),5

eliflevel=="困難":

returnrandom.randint(1,200),3

else:

returnNone,None

print("選擇難度等級:簡單(1)或困難(2)")

level=input("請輸入難度等級:")

iflevel=="1":

mode="簡單"

eliflevel=="2":

mode="困難"

else:

print("無效的輸入,默認為簡單模式。")

mode="簡單"

target,attempts=get_target_and_attempts(mode)

print(f"你選擇了{mode}模式,數字范圍{target},你有{attempts}次機會。")

foriinrange(attempts):

guess=int(input("請輸入你的猜測:"))

ifguess>target:

print("太大")

elifguess<target:

print("太小")

else:

print("恭喜你!")

break

else:

print("次數用完,正確答案是",target)

```

8.操作題(共2題,每題17分,計34分)

19.

```python

importrandom

counts=[0]*6

foriinrange(6):

dice=random.randint(1,6)

print(f"擲骰子{i+1}:{dice}")

counts[dice-1]+=1

print("點數統(tǒng)計:")

foriinrange(6):

print(f"點數{i+1}:{counts[i]}次")

```

20.

```python

transactions=[]

defadd_transaction():

type_=input("輸入交易類型(收入/支出):")

amount=float(input("輸入金額:"))

date=input("輸入交易日期(YYYY-MM-DD):")

transactions.append({"type":type_,"amount":amount,"date":date})

defquery_transactions(date,type_=None):

total=0

fortintransactions:

ift["date"]==dateand(type_isNoneort["type"]==type_):

total+=t["amount"]ift["type"]=="收入"else-t["amount"]

returntotal

print("1.添加交易記錄")

print("2.查詢特定日期的收入總額")

print("3.查詢特定日期的支出總額")

print("4.查詢所有交易記錄")

print("0.退出")

whileTrue:

choice=input("請輸入操作編號:")

ifchoice=="1":

add_transaction()

elifchoice=="2":

date=input("輸入日期(YYYY-MM-DD):")

total_income=query_transactions(date,"收入")

print(f"{date}的收入總額:{total_income}")

elifchoice=="3":

date=input("輸入日期(YYYY-MM-DD):")

total_expense=query_transactions(date,"支出")

print(f"{date}的支出總額:{total_expense}")

elifchoice=="4":

fortintransactions:

print(f"類型:{t['type']},金額:{t['amount']},日期:{t['date']}")

elifchoice=="0":

break

else:

print("無效的輸入,請重新輸入。")

```

9.編程實現題(共1題,計18分)

21.

```python

fromcollectionsimportCounter

defcount_letters(s):

s=s.lower()

letters=[cforcinsifc.isalpha()]

returnCounter(letters)

input_str=input("輸入一個字符串:")

letter_counts=count_letters(input_str)

result=",".join([f"{k}:{v}"fork,vinsorted(letter_counts.items())])

print(result)

```

10.邏輯思維題(共1題,計12分)

22.該程序計算了1到10之間所有偶數的和和所有奇數的和。輸出結果為:

偶數之和:30

奇數之和:55

11.應用題(共1題,計14分)

23.

```python

books={}

borrow_records={}

defadd_book():

isbn=input("輸入圖書ISBN:")

title=input("輸入圖書書名:")

author=input("輸入圖書作者:")

books[isbn]={"title":title,"author":author,"status":"可借"}

defborrow_book():

isbn=input("輸入圖書ISBN:")

ifisbninbooks:

ifbooks[isbn]["status"]=="可借":

date_borrowed=input("輸入借閱日期(YYYY-MM-DD):")

borrow_records[isbn]={"date_borrowed":date_borrowed,"date_returned":None}

books[isbn]["status"]="已借出"

print("借閱成功!")

else:

print("圖書已借出!")

else:

print("圖書不存在!")

defreturn_book():

isbn=input("輸入圖書ISBN:")

ifisbninborrow_records:

date_returned=input("輸入歸還日期(YYYY-MM-DD):")

borrow_records[isbn]["date_returned"]=date_returned

books[isbn]["status"]="可借"

print("歸還成功!")

else:

print("該圖書未借出!")

defquery_status():

isbn=input("輸入圖書ISBN:")

ifisbninbooks:

status=books[isbn]["status"]

ifstatus=="已借出":

ifisbninborrow_records:

print(f"圖書《{books[isbn]['title']}》已借出,借閱日期:{borrow_records[isbn]['date_borrowed']}")

else:

print(f"圖書《{books[isbn]['title']}》已借出,但借閱記錄不存在!")

else:

print(f"圖書《{books[isbn]['title']}》可借。")

else:

print("圖書不存在!")

print("1.圖書信息錄入")

print("2.借閱記錄管理")

print("3.圖書查詢")

print("4.歸還記錄管理")

print("0.退出")

whileTrue:

choice=input("請輸入操作編號:")

ifchoice=="1":

add_book()

elifchoice=="2":

borrow_book()

elifchoice=="3":

query_status()

elifchoice=="4":

return_book()

elifchoice=="0":

break

else:

print("無效的輸入,請重新輸入。")

```

12.創(chuàng)新設計題(共1題,計16分)

24.

```python

importrandom

importstring

defgenerate_password(length,uppercase,lowercase,digits,special):

characters=""

ifuppercase:

characters+=string.ascii_uppercase

iflowercase:

characters+=string.ascii_lowercase

ifdigits:

characters+=string.digits

ifspecial:

characters+=string.punctuation

ifnotcharacters:

print("至少選擇一種字符類型!")

returnNone

password=''.join(random.choice(characters)for_inrange(length))

returnpassword

print("選擇密碼長度:")

length=int(input("請輸入長度:"))

uppercase=input("是否包含大寫字母(是/否):")=="是"

lowercase=input("是否包含小寫字母(是/否):")=="是"

digits=input("是否包含數字(是/否):")=="是"

special=input("是否包含特殊字符(是/否):")=="是"

password=generate_password(length,uppercase,lowercase,digits,special)

ifpassword:

print(f"生成的密碼:{password}")

```

13.算法設計題(共1題,計20分)

25.

```python

defbubble_sort(arr,reverse=False):

n=len(arr)

foriinrange(n):

forjinrange(0,n-i-1):

if(arr[j]>arr[j+1])==reverse:

arr[j],arr[j+1]=arr[j+1],arr[j]

returnarr

input_numbers=list(map(int,input("輸入一組數字,用空格分隔:").split()))

order=input("選擇排序方式(升序/降序):")

iforder=="升序":

sorted_numbers=bubble_sort(input_numbers)

eliforder=="降序":

sorted_numbers=bubble_sort(input_numbers,reverse=True)

else:

print("無效的排序方式,默認為升序。")

sorted_numbers=bubble_sort(input_numbers)

print("排序后的結果:",sorted_numbers)

```

14.綜合應用題(共1題,計22分)

26.

```python

students={}

defadd_student():

student_id=input("輸入學生學號:")

name=input("輸入學生姓名:")

math=float(input("輸入數學成績:"))

chinese=float(input("輸入語文成績:"))

english=float(input("輸入英語成績:"))

students[student_id]={"name":name,"scores":{"math":math,"chinese":chinese,"english":english}}

defquery_student():

key=input("輸入學號或姓名查詢:")

forsid,infoinstudents.items():

ifkey==sidorkey==info["name"]:

avg=sum(info["scores"].values())/len(info["scores"])

print(f"學號:{sid},姓名:{info['name']},數學:{info['scores']['math']},語文:{info['scores']['chinese']},英語:{info['scores']['english']},平均分:{avg:.2f}")

break

else:

print("未找到學生!")

defcalculate_statistics():

averages=[]

forinfoinstudents.values():

avg=sum(info["scores"].values())/len(info["scores"])

averages.append((info["name"],avg))

averages.sort(key=lambdax:x[1],reverse=True)

print("排名前五的學生:")

forname,avginaverages[:5]:

print(f"姓名:{name},平均分:{avg:.2f}")

defmodify_scores():

student_id=input("輸入學生學號:")

ifstudent_idinstudents:

math=float(input("輸入新的數學成績:"))

chinese=float(input("輸入新的語文成績:"))

english=float(input("輸入新的英語成績:"))

students[student_id]["scores"]={"math":math,"chinese":chinese,"english":english}

print("成績修改成功!")

else:

print("未找到學生!")

print("1.學生信息錄入")

print("2.成績查詢")

print("3.成績統(tǒng)計")

print("4.成績修改")

print("0.退出")

whileTrue:

choice=input("請輸入操作編號:")

ifchoice=="1":

add_student()

elifchoice=="2":

query_student()

elifchoice=="3":

calculate_statistics()

elifchoice=="4":

modify_scores()

elifchoice=="0":

break

else:

print("無效的輸入,請重新輸入。")

```

15.拓展應用題(共1題,計24分)

27.

```python

products={}

cart=[]

orders=[]

defadd_product():

product_id=input("輸入商品編號:")

name=input("輸入商品名稱:")

price=float(input("輸入商品價格:"))

products[product_id]={"name":name,"price":price}

defadd_to_cart():

product_id=input("輸入商品編號:")

ifproduct_idinproducts:

quantity=int(input("輸入購買數量:"))

cart.append({"product_id":product_id,"quantity":quantity,"price":products[product_id]["price"]})

print(f"已添加{quantity}個《{products[product_id]['name']}》到購物車。")

else:

print("商品不存在!")

defview_cart():

ifnotcart:

print("購物車為空!")

return

print("購物車中的商品:")

total=0

foritemincart:

print(f"商品編號:{item['product_id']},名稱:{products[item['product_id']]['name']},數量:{item['quantity']},單價:{item['price']},小計:{item['quantity']*item['price']}")

total+=item['quantity']*item['price']

print(f"購物車總金額:{total}")

defgenerate_order():

ifnotcart:

print("購物車為空,無法生成訂單!")

return

order_id=input("輸入訂單編號:")

order={"order_id":order_id,"items":cart.copy(),"total":sum(item['quantity']*item['price']foritemincart)}

orders.append(order)

print(f"訂單{order_id}生成成功,總金額:{order['total']}")

cart.clear()

defpayment():

ifnotorders:

print("沒有訂單可以支付!")

return

print("訂單列表:")

fori,orderinenumerate(orders):

print(f"訂單編號:{order['order_id']},總金額:{order['total']}")

order_id=input("輸入要支付的訂單編號:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論