人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

14道基礎(chǔ)Python練習(xí)題(附答案)

發(fā)布日期:2021-12-14 02:55 | 文章來源:源碼之家

1. 輸入一個(gè)百分制成績

,要求輸出成績等級(jí)A、B、C、D、E,其中90~100分為A,80~89分為B,70~79分為C,60~69分為D,60分以下為E。

要求:

  • if語句實(shí)現(xiàn);
  • 輸入百分制成績后要判斷該成績的合理性,對(duì)不合理的成績應(yīng)輸出出錯(cuò)信息。

代碼:

a=eval(input('請輸入成績:'))
if a<0 or a>100 or a%1!=0:
 print('您輸入的成績不合理,請檢查后重新輸入')
elif 90<=a<=100:
 print('成績等級(jí):A')
elif 80<=a<=89:
 print('成績等級(jí):B')
elif 70<=a<=79:
 print('成績等級(jí):C')
elif 60<=a<=69:
 print('成績等級(jí):D')
else:
 print('成績等級(jí):E')

輸出:

2. 籃球比賽案例

籃球比賽是高分的比賽,領(lǐng)先優(yōu)勢可能很快被反超。作為觀眾,希望能在球賽即將結(jié)束時(shí),就提早知道領(lǐng)先是否不可超越。體育作家Bill James發(fā)明了一種算法,用于判斷領(lǐng)先是否“安全”。

算法描述:

  • 獲取領(lǐng)先的分?jǐn)?shù) ,減去3分;
  • 如果目前是領(lǐng)先隊(duì)控球,則加0.5;否則減0.5(數(shù)字小于0則變成0);
  • 計(jì)算平方后的結(jié)果;
  • 如果得到的結(jié)果比當(dāng)前比賽剩余時(shí)間的秒數(shù)大,則領(lǐng)先是“安全”的。

請編寫程序?qū)崿F(xiàn)上述算法的功能,并給出運(yùn)行結(jié)果。

代碼:

grade=eval(input('請輸入領(lǐng)先分?jǐn)?shù):'))
time=eval(input('請輸入剩余時(shí)間:'))
t=grade-3
w=input('目前是否為領(lǐng)先隊(duì)控球(Y or N):')
if w == 'Y' or w == 'y':
 g=(t+0.5)**2
else:
 g=t-0.5
 if g<=0:
 g=0
 g=g**2
if g>time:
 print('領(lǐng)先是“安全”的')
else:
 print('領(lǐng)先是“不安全”的')

輸出:

3.根據(jù)y=1+3-1+3-1+……+(2n-1)-1,求:

  • y<3時(shí)的最大n值。
  • 與(1)的n值對(duì)應(yīng)的y值。

代碼:

x=1
y=0
while y<3:
 y=y+1/(2*x-1)
 x=x+1
print('y<3時(shí)的最大n值為{}'.format(x-1))
print('與(1)的n值對(duì)應(yīng)的y值為{}'.format(y-1/(2*x-1)))

輸出:

y<3時(shí)的最大n值為57
與(1)的n值對(duì)應(yīng)的y值為2.9945914066381527

4. 購物卡案例

小明單位發(fā)了100元的購物卡,小明到超市買三類洗化用品:洗發(fā)水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些購買組合?

代碼:

money=100
n=money//15
for i in range(n,-1,-1):
 m=(money-i*15)//5
 for j in range(m,-1,-1):
  k=(money-i*15-j*5)//2
  if (money-i*15-j*5)%2==0:
print('可選擇的購買組合:\t\t購買洗發(fā)水 {} 瓶,香皂 {} 塊,牙刷 {}個(gè)。'.format(i,j,k))

輸出:

可選擇的購買組合:購買洗發(fā)水 6 瓶,香皂 2 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 6 瓶,香皂 0 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 5 瓶,香皂 5 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 5 瓶,香皂 3 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 5 瓶,香皂 1 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 4 瓶,香皂 8 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 4 瓶,香皂 6 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 4 瓶,香皂 4 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 4 瓶,香皂 2 塊,牙刷 15個(gè)。
可選擇的購買組合:購買洗發(fā)水 4 瓶,香皂 0 塊,牙刷 20個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 11 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 9 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 7 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 5 塊,牙刷 15個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 3 塊,牙刷 20個(gè)。
可選擇的購買組合:購買洗發(fā)水 3 瓶,香皂 1 塊,牙刷 25個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 14 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 12 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 10 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 8 塊,牙刷 15個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 6 塊,牙刷 20個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 4 塊,牙刷 25個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 2 塊,牙刷 30個(gè)。
可選擇的購買組合:購買洗發(fā)水 2 瓶,香皂 0 塊,牙刷 35個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 17 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 15 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 13 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 11 塊,牙刷 15個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 9 塊,牙刷 20個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 7 塊,牙刷 25個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 5 塊,牙刷 30個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 3 塊,牙刷 35個(gè)。
可選擇的購買組合:購買洗發(fā)水 1 瓶,香皂 1 塊,牙刷 40個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 20 塊,牙刷 0個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 18 塊,牙刷 5個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 16 塊,牙刷 10個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 14 塊,牙刷 15個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 12 塊,牙刷 20個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 10 塊,牙刷 25個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 8 塊,牙刷 30個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 6 塊,牙刷 35個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 4 塊,牙刷 40個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 2 塊,牙刷 45個(gè)。
可選擇的購買組合:購買洗發(fā)水 0 瓶,香皂 0 塊,牙刷 50個(gè)。

5. 設(shè)計(jì)一個(gè)猜數(shù)游戲

首先由計(jì)算機(jī)產(chǎn)生一個(gè)[1,100]之間的隨機(jī)整數(shù),然后由用戶猜測所產(chǎn)生的隨機(jī)數(shù)。根據(jù)用戶猜測的情況給出不同提示,如猜測的數(shù)大于產(chǎn)生的數(shù),則顯示“High”,小于則顯示“Low”,等于則顯示“You won !”,游戲結(jié)束。用戶最多可以猜7次,如果7次均未猜中,則顯示“You lost !”,并給出正確答案,游戲結(jié)束。游戲結(jié)束后,詢問用戶是否繼續(xù)游戲,選擇“Y”則開始一輪新的猜數(shù)游戲;選擇“N”則退出游戲。

代碼:

chose = 'y'
while chose=='Y' or chose=='y':
 import random
 num = random.randint(1,100)
 def judge(b):
  if b == num:
return 1
  else:
return 0
 for i in range(1,8):
  b=eval(input('請輸入您第{}次所猜的整數(shù):'.format(i)))
  if judge(b)==1:
print("You won !")
break
  elif b > num:
print("high")
  elif b < num:
print("low")
 if judge(b)==0:
  print("You lost !")
 chose=input('請輸入Y(y)繼續(xù)進(jìn)行游戲,N(n)退出游戲:')
 while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n':
  print('輸入有誤,請重新輸入Y(y)繼續(xù)進(jìn)行游戲,N(n)退出游戲:',end = '')
  chose=input()

輸出:

請輸入您第1次所猜的整數(shù):2
low
請輸入您第2次所猜的整數(shù):5
low
請輸入您第3次所猜的整數(shù):8
low
請輸入您第4次所猜的整數(shù):7
low
請輸入您第5次所猜的整數(shù):50
low
請輸入您第6次所猜的整數(shù):60
low
請輸入您第7次所猜的整數(shù):80
high
You lost !
請輸入Y(y)繼續(xù)進(jìn)行游戲,N(n)退出游戲:n

6.建立1個(gè)包含10個(gè)字符的字符串

建立1個(gè)包含10個(gè)字符的字符串,并根據(jù)鍵盤輸入的數(shù)字n輸出字符串中的第n個(gè)字符。當(dāng)n值超過字符串的索引時(shí),自動(dòng)轉(zhuǎn)為輸出字符串中的最后1個(gè)字符。

要求:

  • 用try語句實(shí)現(xiàn)。

代碼:

n=int(input('請輸入數(shù)字n:'))
a='pengyuanyu'
try:
 print(a[n-1])
except:
 print(a[9])

輸出:

請輸入數(shù)字n:5
y

7. 編寫函數(shù)

該函數(shù)可以輸入任意多個(gè)數(shù),函數(shù)返回輸出所有輸入?yún)?shù)的最大值、最小值和平均值。

代碼:

import numpy as py
x=input('請輸入一組數(shù)并用空格隔開:')
def f(x):
 lis =list(x.split(' '))
 for i in range(len(lis)):
  lis[i]=eval(lis[i])
 print('該組數(shù)值的最大值為:',max(lis))
 print('該組數(shù)值的最小值為:',min(lis))
 print('該組數(shù)值的平均值為:',py.mean(lis))
f(x)

輸出:

請輸入一組數(shù)并用空格隔開:5 4 10
該組數(shù)值的最大值為: 10
該組數(shù)值的最小值為: 4
該組數(shù)值的平均值為: 6.333333333333333

8. 趕鴨子

一個(gè)人趕著鴨子去每個(gè)村莊賣,每經(jīng)過一個(gè)村子賣去所趕鴨子的一半又一只。這樣他經(jīng)過了七個(gè)村子后還剩兩只鴨子,問他出發(fā)時(shí)共趕多少只鴨子?

要求:

  • 利用遞歸函數(shù)編程實(shí)現(xiàn)。

代碼:

def f(n):
 if n == 8:
  return 2
 else:
  sum = f(n+1)*2+2
  return sum
print('一共有{}只鴨子'.format(f(1)))

輸出:

一共有510只鴨子

9.將復(fù)數(shù)2.3×103-1.34×10-3j賦值給變量A,并分別提取A的實(shí)部和虛部。

代碼:

>>> A=complex(2.3e3,-1.34e-3)
>>> print(A.real)
2300.0
>>> print(A.imag)
-0.00134

10.計(jì)算下列表達(dá)式的值

代碼:

import math
z1=(2*(math.sin(math.pi*85/180)))/(1+math.e**2)
print(z1)

輸出:

0.23749863783095462

其中x是從鍵盤獲取的任意實(shí)數(shù)。

代碼:

import math
x=int(input('請輸入整數(shù):'))
z2=1/2*math.log(x+math.sqrt(1+math.pow(x, 2)))
print(z2)

輸出:

請輸入整數(shù):5
1.1562191706363762

11.建立一個(gè)包含10個(gè)字符的字符串A,然后對(duì)該字符串進(jìn)行如下操作:

  • (1)計(jì)算輸出字符串的長度;
  • (2)從第1個(gè)字符開始,每間隔2個(gè)字符取1個(gè)字符,組成子字符串B;
  • (3)將字符串A倒過來重新排列產(chǎn)生新的字符串C;
  • (4)將字符串A的前4個(gè)字符與字符串C的后5個(gè)字符進(jìn)行組合,產(chǎn)生字符串D。

代碼:

 A=input()
 >>> len(A)
 >>> B=print(A[::3])
 >>> C=print(A[::-1])
 >>> D=print(A[:3]+C[-5:])

12.分別格式化輸出0.002178對(duì)應(yīng)的科學(xué)表示法形式

分別格式化輸出0.002178對(duì)應(yīng)的科學(xué)表示法形式、具有4位小數(shù)精度的浮點(diǎn)數(shù)形式和百分?jǐn)?shù)形式,并將輸出寬度設(shè)定為10、居中對(duì)齊、星號(hào)*填充。

代碼:

x=0.002178
print("x對(duì)應(yīng)的科學(xué)表示法形式為:",("%e"%x).center(10,'*'))
print('x具有4位小數(shù)精度的浮點(diǎn)數(shù)形式為:',('{0:.4f}'.format(x)).center(10,'*'))
print('x百分?jǐn)?shù)形式為:',(('{0:.2f}%'.format(x*100)).center(10,'*')))

輸出:

x對(duì)應(yīng)的科學(xué)表示法形式為: 2.178000e-03
x具有4位小數(shù)精度的浮點(diǎn)數(shù)形式為: **0.0022**
x百分?jǐn)?shù)形式為: **0.22%***

13.編寫程序

從鍵盤輸入一個(gè)1~7的數(shù)字,格式化輸出對(duì)應(yīng)數(shù)字的星期字符串名稱。如:輸入3,返回“您輸入的是星期三”。

代碼:

n =int(input('輸入一個(gè)1~7的數(shù)字:'))
if(n==1):
 print("您輸入的是星期一")
elif(n==2):
 print("您輸入的是星期二")
elif(n==3):
 print("您輸入的是星期三")
elif(n==4):
 print("您輸入的是星期四")
elif(n==5):
 print("您輸入的是星期五")
elif(n==6):
 print("您輸入的是星期六")
elif(n==7):
 print("您輸入的是星期日")

輸出:

輸入一個(gè)1~7的數(shù)字3
您輸入的是星期三

14.數(shù)字加密游戲

編程程序,從鍵盤任意輸入1個(gè)4位數(shù),將該數(shù)字中的每位數(shù)與7相乘,然后取乘積結(jié)果的個(gè)位數(shù)對(duì)該數(shù)字進(jìn)行替換,最后得到1個(gè)新的4位數(shù)。

代碼:

n = int(input('任意輸入1個(gè)4位數(shù):'))
if 1000<=n<=9999:
 a=n%10
 b=(n-a)%100/10
 c=(n-a-10*b)%1000/100
 d=(n-a-10*b-100*c)%10000/1000
 a=a*7%10
 b=b*7%10
 c=c*7%10
 d=d*7%10
 n=1000*d+100*c+10*b+a
 print(int(n))
elif n<=1000 or n>=9999:
 print("您輸入的數(shù)字不符合要求,請輸入一個(gè)四位數(shù)字")

輸出:

任意輸入1個(gè)4位數(shù):111
您輸入的數(shù)字不符合要求,請輸入一個(gè)四位數(shù)字

任意輸入1個(gè)4位數(shù):6666
2222

到此這篇關(guān)于14道基礎(chǔ)Python練習(xí)題(附答案)的文章就介紹到這了,更多相關(guān)Python練習(xí)題內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部