您好,登錄后才能下訂單哦!
本篇內容主要講解“基礎Python練習題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“基礎Python練習題有哪些”吧!
,要求輸出成績等級A、B、C、D、E,其中90~100分為A,80~89分為B,70~79分為C,60~69分為D,60分以下為E。
要求:
用if
語句實現;
輸入百分制成績后要判斷該成績的合理性,對不合理的成績應輸出出錯信息。
代碼:
a=eval(input('請輸入成績:')) if a<0 or a>100 or a%1!=0: print('您輸入的成績不合理,請檢查后重新輸入') elif 90<=a<=100: print('成績等級:A') elif 80<=a<=89: print('成績等級:B') elif 70<=a<=79: print('成績等級:C') elif 60<=a<=69: print('成績等級:D') else: print('成績等級:E')
輸出:
籃球比賽是高分的比賽,領先優勢可能很快被反超。作為觀眾,希望能在球賽即將結束時,就提早知道領先是否不可超越。體育作家Bill James發明了一種算法,用于判斷領先是否“安全”。
算法描述:
獲取領先的分數 ,減去3分;
如果目前是領先隊控球,則加0.5;否則減0.5(數字小于0則變成0);
計算平方后的結果;
如果得到的結果比當前比賽剩余時間的秒數大,則領先是“安全”的。
請編寫程序實現上述算法的功能,并給出運行結果。
代碼:
grade=eval(input('請輸入領先分數:')) time=eval(input('請輸入剩余時間:')) t=grade-3 w=input('目前是否為領先隊控球(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('領先是“安全”的') else: print('領先是“不安全”的')
輸出:
y<3時的最大n值。
與(1)的n值對應的y值。
代碼:
x=1 y=0 while y<3: y=y+1/(2*x-1) x=x+1 print('y<3時的最大n值為{}'.format(x-1)) print('與(1)的n值對應的y值為{}'.format(y-1/(2*x-1)))
輸出:
y<3時的最大n值為57
與(1)的n值對應的y值為2.9945914066381527
小明單位發了100元的購物卡,小明到超市買三類洗化用品:洗發水(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購買洗發水 {} 瓶,香皂 {} 塊,牙刷 {}個。'.format(i,j,k))
輸出:
可選擇的購買組合: 購買洗發水 6 瓶,香皂 2 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 6 瓶,香皂 0 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 5 瓶,香皂 5 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 5 瓶,香皂 3 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 5 瓶,香皂 1 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 4 瓶,香皂 8 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 4 瓶,香皂 6 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 4 瓶,香皂 4 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 4 瓶,香皂 2 塊,牙刷 15個。
可選擇的購買組合: 購買洗發水 4 瓶,香皂 0 塊,牙刷 20個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 11 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 9 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 7 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 5 塊,牙刷 15個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 3 塊,牙刷 20個。
可選擇的購買組合: 購買洗發水 3 瓶,香皂 1 塊,牙刷 25個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 14 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 12 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 10 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 8 塊,牙刷 15個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 6 塊,牙刷 20個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 4 塊,牙刷 25個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 2 塊,牙刷 30個。
可選擇的購買組合: 購買洗發水 2 瓶,香皂 0 塊,牙刷 35個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 17 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 15 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 13 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 11 塊,牙刷 15個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 9 塊,牙刷 20個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 7 塊,牙刷 25個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 5 塊,牙刷 30個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 3 塊,牙刷 35個。
可選擇的購買組合: 購買洗發水 1 瓶,香皂 1 塊,牙刷 40個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 20 塊,牙刷 0個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 18 塊,牙刷 5個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 16 塊,牙刷 10個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 14 塊,牙刷 15個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 12 塊,牙刷 20個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 10 塊,牙刷 25個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 8 塊,牙刷 30個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 6 塊,牙刷 35個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 4 塊,牙刷 40個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 2 塊,牙刷 45個。
可選擇的購買組合: 購買洗發水 0 瓶,香皂 0 塊,牙刷 50個。
首先由計算機產生一個[1,100]之間的隨機整數,然后由用戶猜測所產生的隨機數。根據用戶猜測的情況給出不同提示,如猜測的數大于產生的數,則顯示“High”,小于則顯示“Low”,等于則顯示“You won !”,游戲結束。用戶最多可以猜7次,如果7次均未猜中,則顯示“You lost !”,并給出正確答案,游戲結束。游戲結束后,詢問用戶是否繼續游戲,選擇“Y”則開始一輪新的猜數游戲;選擇“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('請輸入您第{}次所猜的整數:'.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)繼續進行游戲,N(n)退出游戲:') while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n': print('輸入有誤,請重新輸入Y(y)繼續進行游戲,N(n)退出游戲:',end = '') chose=input()
輸出:
請輸入您第1次所猜的整數:2
low
請輸入您第2次所猜的整數:5
low
請輸入您第3次所猜的整數:8
low
請輸入您第4次所猜的整數:7
low
請輸入您第5次所猜的整數:50
low
請輸入您第6次所猜的整數:60
low
請輸入您第7次所猜的整數:80
high
You lost !
請輸入Y(y)繼續進行游戲,N(n)退出游戲:n
建立1個包含10個字符的字符串,并根據鍵盤輸入的數字n輸出字符串中的第n個字符。當n值超過字符串的索引時,自動轉為輸出字符串中的最后1個字符。
要求:
用try語句實現。
代碼:
n=int(input('請輸入數字n:')) a='pengyuanyu' try: print(a[n-1]) except: print(a[9])
輸出:
請輸入數字n:5
y
該函數可以輸入任意多個數,函數返回輸出所有輸入參數的最大值、最小值和平均值。
代碼:
import numpy as py x=input('請輸入一組數并用空格隔開:') def f(x): lis =list(x.split(' ')) for i in range(len(lis)): lis[i]=eval(lis[i]) print('該組數值的最大值為:',max(lis)) print('該組數值的最小值為:',min(lis)) print('該組數值的平均值為:',py.mean(lis)) f(x)
輸出:
請輸入一組數并用空格隔開:5 4 10
該組數值的最大值為: 10
該組數值的最小值為: 4
該組數值的平均值為: 6.333333333333333
一個人趕著鴨子去每個村莊賣,每經過一個村子賣去所趕鴨子的一半又一只。這樣他經過了七個村子后還剩兩只鴨子,問他出發時共趕多少只鴨子?
要求:
利用遞歸函數編程實現。
代碼:
def f(n): if n == 8: return 2 else: sum = f(n+1)*2+2 return sum print('一共有{}只鴨子'.format(f(1)))
輸出:
一共有510只鴨子
代碼:
>>> A=complex(2.3e3,-1.34e-3) >>> print(A.real) 2300.0 >>> print(A.imag) -0.00134
代碼:
import math z1=(2*(math.sin(math.pi*85/180)))/(1+math.e**2) print(z1)
輸出:
0.23749863783095462
其中x是從鍵盤獲取的任意實數。
代碼:
import math x=int(input('請輸入整數:')) z2=1/2*math.log(x+math.sqrt(1+math.pow(x, 2))) print(z2)
輸出:
請輸入整數:5
1.1562191706363762
(1)計算輸出字符串的長度;
(2)從第1個字符開始,每間隔2個字符取1個字符,組成子字符串B;
(3)將字符串A倒過來重新排列產生新的字符串C;
(4)將字符串A的前4個字符與字符串C的后5個字符進行組合,產生字符串D。
代碼:
A=input() >>> len(A) >>> B=print(A[::3]) >>> C=print(A[::-1]) >>> D=print(A[:3]+C[-5:])
分別格式化輸出0.002178
對應的科學表示法形式、具有4位小數精度的浮點數形式和百分數形式,并將輸出寬度設定為10、居中對齊、星號*填充。
代碼:
x=0.002178 print("x對應的科學表示法形式為:",("%e"%x).center(10,'*')) print('x具有4位小數精度的浮點數形式為:',('{0:.4f}'.format(x)).center(10,'*')) print('x百分數形式為:',(('{0:.2f}%'.format(x*100)).center(10,'*')))
輸出:
x對應的科學表示法形式為: 2.178000e-03
x具有4位小數精度的浮點數形式為: **0.0022**
x百分數形式為: **0.22%***
從鍵盤輸入一個1~7的數字,格式化輸出對應數字的星期字符串名稱。如:輸入3,返回“您輸入的是星期三”。
代碼:
n =int(input('輸入一個1~7的數字:')) 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("您輸入的是星期日")
輸出:
輸入一個1~7的數字3
您輸入的是星期三
編程程序,從鍵盤任意輸入1個4位數,將該數字中的每位數與7相乘,然后取乘積結果的個位數對該數字進行替換,最后得到1個新的4位數。
代碼:
n = int(input('任意輸入1個4位數:')) 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("您輸入的數字不符合要求,請輸入一個四位數字")
輸出:
任意輸入1個4位數:111
您輸入的數字不符合要求,請輸入一個四位數字任意輸入1個4位數:6666
2222
到此,相信大家對“基礎Python練習題有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。