程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python暑期訓練100題

編輯:Python

問題1(√)

編寫一個程序,查找所有此類數字,它們可以被7整除,但不能是5的倍數(在2000和3200之間)(均包括在內)。獲得的數字應以逗號分隔的順序打印在一行上。

list=[]
for i in range(2000,3201):
if i%7==0 and i%5 !=0:
list.append(i)
else:
continue
print(list)

輸出:

[2002, 2009, 2016, 2023, 2037, 2044, 2051, 2058, 2072, 2079, 2086, 2093, 2107, 2114, 2121, 2128, 2142, 2149, 2156, 2163, 2177, 2184, 2191, 2198, 2212, 2219, 2226, 2233, 2247, 2254, 2261, 2268, 2282, 2289, 2296, 2303, 2317, 2324, 2331, 2338, 2352, 2359, 2366, 2373, 2387, 2394, 2401, 2408, 2422, 2429, 2436, 2443, 2457, 2464, 2471, 2478, 2492, 2499, 2506, 2513, 2527, 2534, 2541, 2548, 2562, 2569, 2576, 2583, 2597, 2604, 2611, 2618, 2632, 2639, 2646, 2653, 2667, 2674, 2681, 2688, 2702, 2709, 2716, 2723, 2737, 2744, 2751, 2758, 2772, 2779, 2786, 2793, 2807, 2814, 2821, 2828, 2842, 2849, 2856, 2863, 2877, 2884, 2891, 2898, 2912, 2919, 2926, 2933, 2947, 2954, 2961, 2968, 2982, 2989, 2996, 3003, 3017, 3024, 3031, 3038, 3052, 3059, 3066, 3073, 3087, 3094, 3101, 3108, 3122, 3129, 3136, 3143, 3157, 3164, 3171, 3178, 3192, 3199]

問題2(√)

編寫一個程序,可以計算出給定數字的階乘,結果應以逗號分隔的順序打印在一行上,假設向程序提供了以下輸入:8
然後,輸出應為:40320

a=eval(input())
m=1
for i in range(a):
m=m*(i+1)
print(m)

問題3(√)

使用給定的整數n,編寫程序以生成包含(i,ixi)的字典,該字典為1到n之間的整數(都包括在內)。然後程序應打印字典。假設向程序提供了以下輸入:
8
然後,輸出應為
{1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64}

a=eval(input())
dic= {
}
for i in range(1,a+1):
dic[i]=i**2
print(dic)

輸出:

{
1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}

問題4(√)

編寫一個程序,該程序從控制台接受一個逗號分隔的數字序列,並生成一個列表和一個包含每個數
字的元組。假設向該程序提供了以下輸入:

34,67,55,33,12,98

然後,輸出應為:

[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’]
(‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’)

s=input()
l=s.split(",")
t=tuple(l)
#print(f" {l}")
#print(f" {t}")
print(l)
print(t)

輸出:

['34', '67', '55', '33', '12', '98']
('34', '67', '55', '33', '12', '98')

問題5

定義一個至少具有兩個方法的類:
getString:從控制台輸入獲取字符串
printString:以大寫字母打印字符串
還請包括簡單的測試功能來測試類方法

問題6(√)

編寫一個程序,根據給定的公式計算並打印該值:
Q = [(2 * C *D)/ H]的平方根
以下是C和H的固定值:
C為50。H為30。
D是變量,其值應以逗號分隔的順序輸入到您的程序中,例如,讓我們假設以下逗號分隔的輸入順
序被賦予了程序:

import math
c=50
h=30
list=[]
list=eval(input())
def gs(d):
q=math.sqrt((2*c*d)/h) return q m=[] for i in range(len(list)):
j=int((gs(list[i]))//1)
m.append(j)
m=','.join(str(i) for i in m)
print(m)

輸出:

18,22,24

問題7

_編寫一個程序,該程序將X,Y兩位數字作為輸入並生成一個二維數組。數組的第i行和第j列中的
元素值應為i * j。
注意:i = 0,1 …,X-1; j = 0,1,i(Y-1)。假設將以下輸入提供給程序:3,5
然後,程序的輸出應為:

[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]

問題8

編寫一個程序,該程序接受以逗號分隔的單詞序列作為輸入,並在按字母順序對單詞進行排序後以
逗號分隔的順序打印這些單詞。
假設將以下輸入提供給程序:

without,hello,bag,world

然後,輸出應為:

bag,hello,without,world

問題9(√)

編寫一個接受行序列作為輸入的程序,並在使句子中的所有字符都大寫之後打印行。
假設將以下輸入提供給程序:

Hello world
Practice makes perfect

然後,輸出應為:

HELLO WORLD
PRACTICE MAKES PERFECT

i=input()
s=i.upper()
print(s)

問題10

編寫一個程序,該程序接受一系列由空格分隔的單詞作為輸入,並在刪除所有重復的單詞並將其按首字
母數字順序排序後打印這些單詞。
假設將以下輸入提供給程序:

hello world and practice makes perfect and hello world again

然後,輸出應為:

again and hello makes perfect practice world

提示:我們使用set容器自動刪除重復的數
據,然後使用sorted()對數據進行排序。

問題11

編寫一個程序,該程序接受以逗號分隔的4位二進制數字序列作為輸入,然後檢查它們是否可被5
整除。被5整除的數字將以逗號分隔的順序打印。
例子:

0100,0011,1010,1001

然後輸出應為:

1010

問題12(√)

編寫一個程序,查找所有介於1000和3000之間的數字(都包括在內),以使數字的每個數字均為
偶數。獲得的數字應以逗號分隔的順序打印在一行上。

list=[]
for i in range(1000,3001):
if i%2==0:
list.append(i)
else:
continue
list=','.join(str(i) for i in list)
print(list)

問題13(√)

編寫一個接受句子並計算字母和數字數量的程序。
假設將以下輸入提供給程序:

hello world! 123

然後,輸出應為:

LETTERS 10
DIGITS 3

a=input()
b=0
xx=0
dx=0
c=0
for i in a:
if i.islower():
xx+=1
elif i.isupper():
dx+=1
elif i.isdigit():
c+=1
b=xx+dx
print("LETTERS %d"%b)
print("DIGIT %d"%c)
LETTERS 10
DIGIT 3

問題14(√)

編寫一個接受句子的程序,並計算大寫字母和小寫字母的數量。
假設將以下輸入提供給程序:

Hello world!

然後,輸出應為:

UPPER CASE 1
LOWER CASE 9

a=input()
b=0
xx=0
dx=0
c=0
for i in a:
if i.islower():
xx+=1
elif i.isupper():
dx+=1
elif i.isdigit():
c+=1
b=xx+dx
print("UPPER CASE %d"%dx)
print("LOWER CASE %d"%xx)

問題15(√)

編寫一個程序,以給定的數字作為a的值來計算a + aa + aaa + aaaa的值。
假設將以下輸入提供給程序:

9

然後,輸出應為:

11106

a=eval(input())
b=a+a*11+a*111+a*1111
print(b)

問題16(√)

使用列表推導對列表中的每個奇數取平方。該列表由逗號分隔的數字序列輸入。>假設將以下輸入
提供給程序:

1,2,3,4,5,6,7,8,9

然後,輸出應為:

1,9,25,49,81

list=[]
answer=[]
list=eval(input())
for i in list:
if i%2==1:
m=i**2
answer.append(m)
else:
continue
answer=','.join(str(i) for i in answer)
print(answer)
1,9,25,49,81

問題17

編寫一個程序,該程序根據來自控制台輸入的交易日志來計算銀行帳戶的淨額。事務日志格式如下 所
示:

D 100
W 200

D表示存款,W表示提款。

假設將以下輸入提供給程序:

D 300
D 300
W 200
D 100

然後,輸出應為:

500

問題18

網站要求用戶輸入用戶名和密碼進行注冊。編寫程序以檢查用戶輸入的密碼是否有效。
以下是檢查密碼的標准:
[az]之間至少1個字母
[0-9]之間至少1個數字
[AZ]之間至少1個字母
[$#@]中的至少1個字符
交易密碼的最小長度:6
交易密碼的最大長度:12
您的程序應接受逗號分隔的密碼序列,並將根據上述條件進行檢查。符合條件的密碼將被打印,每
個密碼之間用逗號分隔。
例子
如果輸入以下密碼作為程序輸入:

[email protected],a F1#,2w3E*,2We3345

然後,程序的輸出應為:

[email protected]

問題19

您需要編寫一個程序來按升序對(名稱,年齡,分數)元組進行排序,其中名稱是字符串,年齡和 分
數是數字。元組由控制台輸入。排序標准是:
1:根據名稱排序
2:然後根據年齡排序
3:然後按分數排序
優先級是名稱>年齡>得分。
如果給出以下元組作為程序的輸入:

Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85

然後,程序的輸出應為:

[(‘John’, ‘20’, ‘90’), (‘Jony’, ‘17’, ‘91’), (‘Jony’, ‘17’, ‘93’), (‘Json’, ‘21’,
‘85’), (‘Tom’, ‘19’, ‘80’)]

問題20

用生成器定義一個類,該生成器可以迭代在給定范圍0和n之間可以被7整除的數字。
假設將以下輸入提供給程序:

7

然後,輸出應為:

0
7
14

問題21

機器人從原始點(0,0)開始在平面上移動。機器人可以按照給定的步驟向上,下,左和右移動。
機器人運動的軌跡如下圖所示:

UP 5
DOWN 3
LEFT 3
RIGHT 2

方向後的數字為步長。請編寫一個程序,以計算一系列移動和原始點之後與當前位置的距離。如果
距離是浮點數,則只需打印最接近的整數即可。
示例: 如果給出以下元組作為程序的輸入:

UP 5
DOWN 3
LEFT 3
RIGHT 2

然後,程序的輸出應為:

2

如果將輸入數據提供給問題,則應假定它是控制台輸入。這裡的距離表示歐幾裡得距離。導入數學
模塊以使用sqrt函數。

問題22

編寫一個程序來計算輸入中單詞的頻率。在按字母數字順序對鍵進行排序後,應輸出輸出。
假設將以下輸入提供給程序:

New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.

然後,輸出應為:

2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1

問題23(√)

編寫一種可以計算數字平方值的方法

a=eval(input())
b=a**2
print(b)

問題24

Python具有許多內置函數,如果您不知道如何使用它,則可以在線閱讀文檔或查找一些書籍。但 是
Python對於每個內置函數都有一個內置文檔函數。
請編寫程序以打印一些Python內置函數文檔,例如abs(),int(),raw_input()
並添加您自己的功能的文檔

問題25

定義一個類,該類具有一個類參數並且具有相同的實例參數。
提示:

Define an instance parameter, need add it in init method.You can init an
object with construct parameter or set the value later

問題26(√)

定義一個可以計算兩個數字之和的函數。
提示:

定義一個以兩個數字作為參數的函數。您可以在函數中計算總和並返回值。

def count(a,b):
c=a+b
return c

問題27

定義一個可以將整數轉換為字符串並在控制台中打印的函數.
提示:
使用str()將數字轉換為字符串。

問題28

問題:
定義一個函數,該函數可以接收兩個字符串形式的整數並計算它們的總和,然後在控制台中打印
它。
提示:
使用int()將字符串轉換為整數。

問題29

定義一個函數,該函數可以接受兩個字符串作為輸入並將其連接起來,然後在控制台中將其打印出
來。
提示:
使用+號連接字符串。

問題30(√)

定義一個函數,該函數可以接受兩個字符串作為輸入,並在控制台中打印最大長度的字符串。如果 兩
個字符串的長度相同,則該函數應逐行打印所有字符串。
提示:
***使用len()函數獲取字符串的長度。

a=""
b=""
a=input()
b=input()
a1=len(a)
b1=len(b)
if a1>b1:
print(a)
elif a1<b1:
print(b)
else:
print(a,b)

問題31(√)

定義一個可以打印字典的函數,其中鍵是1到20之間的數字(都包括在內),值是鍵的平方。

def dict():
dic = {
i:i**2 for i in range(1,21)}
print(dic)
dict()

問題32(√)

定義一個可以生成字典的函數,其中鍵是1到20之間的數字(都包括在內),值是鍵的平方。該功 能
應僅打印鍵。

def dict():
dic = {
i:i**2 for i in range(1,21)}
for j in range(1,21):
print(j)
dict()

問題33(√)

定義一個函數,該函數可以生成和打印一個列表,其中值是介於1到20之間的數字的平方(均包括 在
內)。

def list():
list=[]
for j in range(1,21):
list.append(j**2)
print(list)
list()

問題34(√)

定義一個函數,該函數可以生成一個列表,其中值是介於1到20之間的數字的平方(均包括在
內)。然後,該功能需要打印列表中的前5個元素。

def list():
list=[]
for j in range(1,21):
list.append(j**2)
print(list[0:5])
list()

問題35(√)

定義一個函數,該函數可以生成一個列表,其中值是介於1到20之間的數字的平方(均包括在
內)。然後,該功能需要打印列表中的最後5個元素。

def list():
list=[]
for j in range(1,21):
list.append(j**2)
print(list[15:20])
list()

問題36(√)

定義一個函數,該函數可以生成一個列表,其中值是介於1到20之間的數字的平方(均包括在內)

def list():
list=[]
for j in range(1,21):
list.append(j**2)
print(list)
list()

問題38(√)

對於給定的元組(1,2,3,4,5,6,7,8,9,10),編寫一個程序以一行打印前半值,然後以一行打印後半值。
提示:
使用[n1:n2]表示法從元組中獲取一個切片。

tem =(1,2,3,4,5,6,7,8,9,10)
a=tem[0:5]
b=tem[5:10]
print(a)
print(b)

問題39(√)

問題:
編寫程序以生成並打印另一個在給定元組(1,2,3,4,5,6,7,8,9,10)中其值為偶數的元組。
提示:
使用“ for”來迭代元組。使用tuple()從列表中生成一個元組。

tuple1 = (1,2,3,4,5,6,7,8,9,10)
for i in range(len(tuple1)//2):
print(tuple1[i],end=' ')
print('\n')
for i in range(len(tuple1)//2,len(tuple1)):
print(tuple1[i],end=' ')

問題40(√)

問題:
編寫一個接受字符串作為輸入的程序,如果該字符串是“ yes”或“ YES”或“ Yes”,則打印“ Yes”,否
則打印“ No”。
提示:
使用if語句判斷條件。

a=input()
if a=='Yes':
print("Yes")
else:
print("No")

問題41(√)

問題:
編寫一個程序,該程序可以map()創建一個列表,該列表的元素是[1,2,3,4,5,6,7,8,9,10]中的元
素的平方。
提示:
使用map()生成列表。使用lambda定義匿名函數。

def square(x):
return x**2
a=list(map(lambda x: x ** 2, [1, 2, 3, 4, 5,6,7,8,9,10])) # 使用 lambda 匿名函數
print(a)

問題42(√)

問題:
編寫一個程序,該程序可以map()和filter()組成一個列表,該列表的元素為
[1,2,3,4,5,6,7,8,9,10]中的偶數平方。
提示:
使用map()生成列表。使用filter()過濾列表元素。使用lambda定義匿名函數。

list_1 = [1,2,3,4,5,6,7,8,9,10]
def panduan(numble):
return numble**2
def panduan_1(numble):
return not numble&1
print(list(map(panduan,list(filter(panduan_1,list_1)))))

問題43(√)

問題:
編寫一個程序,該程序可以filter()創建一個列表,該列表的元素為1到20之間的偶數(均包括 在
內)。
提示:
使用filter()過濾列表中的元素,使用lambda定義匿名函數。

list_1 = [1,2,3,4,5,6,7,8,9,10]
def panduan(numble):
return numble**2
def panduan_1(numble):
return not numble&1
print(list(map(panduan,list(filter(panduan_1,list_1)))))

問題44(√)

問題:
編寫一個程序,該程序可以map()創建一個列表,該列表的元素為1到20之間的數字平方(均包 括
在內)。
提示:
使用map()生成一個列表。使用lambda定義匿名函數。

def square(x):
return x**2
a=list(map(lambda x: x ** 2, [1, 2, 3, 4, 5,6,7,8,9,10])) # 使用 lambda 匿名函數
print(a)

問題45(√)

定義一個名為American的類,該類具有一個稱為printNationality的靜態方法。

class american():
def printnational(self):
print ("可愛淞淞!")
a = american()
a.printnational()
class American(object):
@staticmethod
def printNationality():
print ("可愛捏")
anAmerican = American()
anAmerican.printNationality()
American.printNationality()

問題46(√)

定義一個名為American的類及其子類NewYorker。
提示:
使用類Subclass(ParentClass)定義一個子類。*

class american():
def printnational(self):
print ("可愛淞淞")
class newyorker(american):
def ga(self):
print ("淞淞可愛")
a = american()
b = newyorker()
a.printnational()
b.ga()
class American(object):
pass
class NewYorker(American):
pass
anAmerican = American()
aNewYorker = NewYorker()
print (anAmerican)
print (aNewYorker)

問題47

問題
定義一個名為Circle的類,該類可以由半徑構造。Circle類具有一種可以計算面積的方法。
提示
使用def methodName(self)定義一個方法。

問題48

定義一個名為Rectangle的類,該類可以通過長度和寬度來構造。Rectangle類具有可以計算面積
的方法。
提示
使用def methodName(self)定義一個方法。

問題49

問題
定義一個名為Shape的類及其子類Square。Square類具有一個init函數,該函數以長度作為參
數。這兩個類都有一個Area函數,該函數可以打印Shape的區域默認為0的形狀的區域。
提示
要覆蓋超類中的方法,我們可以在超類中定義一個具有相同名稱的方法。

問題50

問題
請引發RuntimeError異常。
提示
U使用raise()引發異常。

問題51

問題
編寫一個函數以計算5/0並使用try / except捕獲異常。
提示
使用try / except捕獲異常。

問題52

問題
定義一個自定義異常類,該類將字符串消息作為屬性。
提示
要定義自定義異常,我們需要定義一個從Exception繼承的類

問題53

問題
假設我們有一些“ [email protected] ”格式的電子郵件地址,請編寫程序以打印給
定電子郵件地址的用戶名。用戶名和公司名都僅由字母組成。
示例:如果將以下電子郵件地址作為該程序的輸入:

[email protected]

[email protected]

join

提示
使用\ w匹配字母。

問題54

假設我們有一些“ [email protected] ”格式的電子郵件地址,請編寫程序以打印給
定電子郵件地址的公司名稱。用戶名和公司名都僅由字母組成。
示例:如果將以下電子郵件地址作為該程序的輸入:

[email protected]

輸出:

google

問題55(√)

編寫一個程序,該程序接受由空格分隔的單詞序列作為輸入,以僅打印由數字組成的單詞。
示例:如果給出以下單詞作為程序輸入:

2 cats and 3 dogs

然後,程序的輸出應為:

[‘2’, ‘3’]

提示
使用re.findall()使用正則表達式查找所有子字符串。

import re
list = input("請輸入:")
pattern = "\d+"
ans = re.findall(pattern,list)
print(ans)

問題56(√)

打印一個unicode字符串“ hello world”。

unicodeString = u"hello world!"
print(unicodeString)

問題57

編寫程序以讀取ASCII字符串並將其轉換為utf-8編碼的unicode字符串。
提示
使用unicode()/ encode()函數進行轉換。

問題58

編寫特殊注釋以指示Python源代碼文件位於unicode中。
提示
使用unicode()函數進行轉換。

問題59(√)

編寫一個程序,以控制台輸入給定的n輸入來計算1/2 + 2/3 + 3/4 + … + n / n + 1(n> 0)。
示例:如果將以下n作為程序的輸入:

5

然後,程序的輸出應為:

3.55

n=eval(input())
s=0
for i in range(1,n+1):
s+=i/(i+1)
print("%.2f"%s)

問題60(√)

編寫程序進行計算:

f(n)=f(n-1)+100 when n>0
and f(0)=0

通過控制台輸入給定的n(n> 0)。
示例:如果將以下n作為程序的輸入:

5

然後,程序的輸出應為:

500

提示
我們可以在Python中定義遞歸函數。

def f(n):
if n==0:
return 0
else:
return f(n-1)+100
n=eval(input())
print(f(n))

問題61(√)

斐波那契數列是根據以下公式計算的:

f(n)=0 if n=0
f(n)=1 if n=1
f(n)=f(n-1)+f(n-2) if n>1

請編寫一個程序,以控制台輸入給定的n個輸入來計算f(n)的值。
輸入:

7

輸出應為:

13

def f(n):
if n==0:
return 0
elif n==1:
return 1
else:
return f(n-1)+ f(n-2)
n=eval(input())
print(f(n))

問題62(√)

斐波那契數列是根據以下公式計算的:

f(n)=0 if n=0
f(n)=1 if n=1
f(n)=f(n-1)+f(n-2) if n>1

請編寫一個程序,以控制台輸入給定的n個輸入來計算f(n)的值。
示例:如果將以下n作為程序的輸入:

7

然後,程序的輸出應為:

0,1,1,2,3,5,8,13

提示
我們可以在Python中定義遞歸函數。使用列表推導從現有列表生成列表。使用string.join()連
接字符串列表。

def f(n):
if n==0:
return 0
elif n==1:
return 1
else:
return f(n-1)+ f(n-2)
list=[]
n=eval(input())
for i in range(n+1):
list.append(f(i))
ans=",".join([str(i) for i in list])
print(ans)

問題63(√)

當控制台輸入n時,請使用生成器編寫一個程序,以逗號分隔的形式打印0到n之間的偶數。
示例:如果將以下n作為程序的輸入:

10

然後,程序的輸出應為:

0,2,4,6,8,10

def f(n):
for i in range(n+1):
if i%2==0 and i!=n:
print(i,',',end='')
elif i%2==0 and i==n:
print(i)
return ''
n=eval(input())
print(f(n))

提示
使用yield來生成生成器中的下一個值。

問題64(√)

當控制台輸入n時,請使用生成器編寫一個程序,以逗號分隔的形式打印可以在0和n之間被5和7整
除的數字。
示例:如果將以下n作為程序的輸入:

100

然後,程序的輸出應為:

0,35,70

提示
使用yield來生成生成器中的下一個值

def f(n):
for i in range(n+1):
if i%5==0 and i%7==0and i!=0:
print(',',i,end='')
elif i%5==0 and i%7==0 and i==0:
print(i,end='')
return ''
n=eval(input())
print(f(n))

問題65

請編寫assert語句以驗證列表[2,4,6,8]中的每個數字都是偶數。
提示
使用“斷言表達式”進行斷言。

問題66(√)

請編寫一個從控制台接受基本數學表達式的程序,並打印評估結果。
示例:如果將以下n作為程序的輸入:

35+3

然後,程序的輸出應為:

38

提示
使用eval()評估表達式

expression = input("請輸入表達式:")
answer = eval(expression)
print(answer)

問題67

請編寫一個二進制搜索功能,該功能可以搜索已排序列表中的項目。該函數應返回列表中要搜索的元素的索引。
提示
使用if / elif處理條件。

問題68(√)

請使用Python模塊生成一個隨機浮點,其值在10到100之間。
提示
使用random.random()在[0,1]中生成隨機浮點數。

import random
rand_num = random.uniform(10,100)
print(rand_num)

問題69(√)

問題
請使用Python模塊生成一個隨機浮點,其值在5到95之間。
提示
使用random.random()在[0,1]中生成隨機浮點數。
import random
rand_num = random.uniform(5,95)
print(rand_num)

問題70

問題
請使用隨機模塊和列表推導編寫一個程序,以輸出介於0到10之間(含0和10)的隨機偶數。
提示
使用random.choice()對列表中的隨機元素進行處理。

import random
list = [i for i in range(0,11,2)]
print(random.choice(list))

問題71

問題
請編寫一個程序以輸出一個隨機數,使用隨機模塊和列表推導,該隨機數可被5和7整除,介於10
和150之間(包括10和150)。
提示
使用random.choice()對列表中的隨機元素進行處理。

問題72(√)

問題
請編寫程序以生成包含5個隨機數(介於100和200之間,包括100和200)的列表。
提示
使用random.sample()生成隨機值列表。

import random
list = random.sample(range(100,201),5)
print(list)

問題73(√)

問題
請編寫一個程序以隨機生成一個列表,該列表包含100至200之間(含兩端)的5個偶數。
提示
使用random.sample()生成隨機值列表。

import random
list = random.sample(range(100,201,2),5)
print(list)

問題74(√)

請編寫一個程序以隨機生成一個包含5個數字的列表,這些數字可以被5和7整除,且介於1和1000
之間(含1和1000)。
提示
使用random.sample()生成隨機值列表

import random
list = [i for i in range(1,1001) if i%35 == 0]
ans = random.sample(list,5)
print(ans)

問題75(√)

請編寫一個程序以隨機打印7到15之間的一個整數。
提示
使用random.randrange()到給定范圍內的隨機整數。

import random
print(random.randrange(7,16))

問題76

請編寫一個程序來壓縮和解壓縮字符串“ hello world!hello world!hello world!hello world!”。
提示
使用zlib.compress()和zlib.decompress()壓縮和解壓縮字符串

問題77

請編寫程序以打印“ 1 + 1”的執行運行時間100次。
提示
使用timeit()函數來測量運行時間。

問題78

請編寫一個程序以隨機播放並打印列表[3,6,7,8]。
提示
使用shuffle()函數可以隨機播放列表。

問題79

請編寫一個程序以生成所有句子,其中主語位於[“ I”,“ You”]中,動詞位於[“ Play”,“ Love”]
中,而賓語位於[“ Hockey”,“ Football”]中。
提示
使用list [index]表示法從列表中獲取元素

問題80

請刪除[5,6,77,45,22,12,24]中的偶數後編寫程序以打印列表。
提示
使用列表推導從列表中刪除一堆元素

問題81(√)

通過使用列表理解,請編寫一個程序以刪除[12,24,35,70,88,120,155]中被5和7整除的數字,然後
打印列表。
提示
使用列表推導從列表中刪除一堆元素。

ls = [12,24,35,70,88,120,155]
ls2 = []
for i in ls:
if (i%7 !=0 and i%5 !=0):
ls2.append(i)
print (ls2)

問題82(√)

通過使用列表理解,請編寫一個程序以刪除[12,24,35,70,88,120,155]中的第0、2、4、6個數字,
然後打印列表。
提示
使用列表推導從列表中刪除一堆元素。使用enumerate()獲取(索引,值)元組。

list = [12,24,35,70,88,120,155]
list = [x for (i,x) in enumerate(list) if i%2!=0]
print(list)

問題83(√)

通過使用列表理解,請編寫一個程序以刪除[12,24,35,70,88,120,155]中的第2至第4個數字,然後
打印列表。
提示
***使用列表推導從列表中刪除一堆元素。使用enumerate()獲取(索引,值)元組。
list = [12,24,35,70,88,120,155]
list = [x for (i,x) in enumerate(list) if ( i== 1 or i2 or i3)]
print(list)

問題84

通過使用列表理解,請編寫一個程序,生成一個3 * 5 * 8 3D數組,每個元素為0。
提示
使用列表推導來創建數組。

問題85(√)

通過使用列表理解,請編寫一個程序來刪除[12,24,35,70,88,120,155]中的第0、4、5個數字,然後
打印列表。
提示
使用列表推導從列表中刪除一堆元素,使用enumerate()獲取(索引,值)元組。

list = [12,24,35,70,88,120,155]
list = [x for (i,x) in enumerate(list) if i not in (0,4,5)]
print(list)

問題86(√)

通過使用列表理解,請在刪除[12,24,35,24,88,120,155]中的值24後編寫程序以打印列表。
提示
使用列表的remove方法刪除一個值

list = [12,24,35,24,88,120,155]
list = [x for x in list if x!=24]
print(list)

問題87

用兩個給定的列表[1,3,6,78,35,55]和[12,24,35,24,88,120,155],編寫一個程序來制作一個列表, 其
元素是上述給定列表的交集。
提示
使用set()和“&=”進行交集操作。

問題88

使用給定的列表[12,24,35,24,88,120,155,88,120,155],編寫一個程序,在刪除所有保留原始順序 的
重復值之後,打印此列表。
提示
使用set()存儲許多值,不能重復。

問題89

定義一個類Person及其兩個子類:Male和Female。所有類都有一個方法“ getGender”,可以為
“男”類打印“男”,為“女”打印“女”。
提示
使用Subclass(Parentclass)定義子類。

問題90(X)

問題91(√)

請編寫一個程序,該程序從控制台接收一個字符串,然後以相反的順序打印它。
示例:如果以下字符串作為程序輸入:*

rise to vote sir

然後,程序的輸出應為:

ris etov ot esir

提示
使用list [::-1]以相反的順序迭代列表。

list=[]
list=input()
list=list[::-1]
print(list)

問題92(√)

請編寫一個程序,該程序從控制台接受一個字符串,並打印具有偶數索引的字符。
示例:如果將以下字符串作為程序的輸入給出:

H1e2l3l4o5w6o7r8l9d

然後,程序的輸出應為:

Helloworld

提示
使用list [:: 2]通過步驟2迭代列表。

list=[]
list=input()
list=list[::2]
print(list)

問題93

請編寫一個打印所有[1,2,3]排列的程序
提示
使用itertools.permutations()獲取列表的排列。

問題94

編寫一個程序解決經典的中國古代難題:我們在農場的雞和兔中數出35頭和94腿。我們有多少只

兔子和幾只雞?
提示
使用for循環迭代所有可能的解決方案。

問題95

根據您在大學運動日的成績單,您需要找到亞軍得分。您會得到分數。將它們存儲在列表中並找到
亞軍的得分。
如果給出以下字符串作為程序的輸入:

5
2 3 6 6 5

然後,程序的輸出應為:

5

提示
使分數唯一,然後找到第二名

問題96

給您一個字符串S和寬度W。您的任務是將字符串包裝成一段寬度。
如果給出以下字符串作為程序的輸入:

ABCDEFGHIJKLIMNOQRSTUVWXYZ
4

然後,程序的輸出應為:

ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ

提示
使用textwrap模塊的包裝功能

問題97

您將得到一個整數N。您的任務是打印一個大小為N的字母rangoli。(Rangoli是一種基於圖案創
建的印度民間藝術形式。)
字母rangoli的不同大小如下所示:

提示
首先以給定的方式打印一半的Rangoli,並將每行保存在列表中。然後以相反的順序打印列表以獲
取其余信息。

問題98

您有個約會。您的任務是查找當天的星期幾。
輸入
一行輸入,分別包含以MM DD YYYY格式分隔的月,日和年。

08 05 2015

輸出
用大寫字母輸出正確的日期。

WEDNESDAY

提示
使用日歷模塊的工作日功能

問題99

給定2組整數M和N,按升序打印它們的對稱差。術語“對稱差”表示存在於M或N中但不存在於兩者
中的那些值。
輸入
輸入的第一行包含一個整數M,第二行包含M個空格分隔的整數,第三行包含一個整數N,第四行
包含N個空格分隔的整數。

4
2 4 5 9
4
2 4 11 12

輸出
以升序輸出對稱差整數,每行一個。

5
9
11
12

提示
使用’^'進行對稱差運算。

問題100

給你的話。有些話可能會重復。對於每個單詞,輸出其出現次數。輸出順序應與單詞出現的輸入順
序相對應。請參閱樣本輸入/輸出以進行澄清。
如果給出以下字符串作為程序的輸入:

4
bcdef
abcdefg
bcde
bcdef

然後,程序的輸出應為:

3
2 1 1

提示:
列出列表以獲取輸入順序,並創建字典以計算單詞頻率

問題101

給您一個字符串,您的任務是計算字符串字母的頻率並以頻率降序打印字母。
如果給出以下字符串作為程序的輸入:

aabbbccde

然後,程序的輸出應為:

b 3
a 2
c 2
d 1
e 1

提示
用字典計數頻率並按字典項目中的值排序

問題102

編寫一個接受字符串並計算數字和字母數的Python程序。
輸入:

Hello321Bye360

輸出:

Digit - 6
Letter - 8

提示
使用isdigit()和isalpha()函數

問題103

給定數N.使用遞歸從1到N求和
輸入:

5

輸出:

15

提示
進行遞歸運算以求和


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved