问题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
您的程序应接受逗号分隔的密码序列,并将根据上述条件进行检查。符合条件的密码将被打印,每
个密码之间用逗号分隔。
例子
如果输入以下密码作为程序输入:
ABd1234@1,a F1#,2w3E*,2We3345
然后,程序的输出应为:
ABd1234@1
问题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
问题
假设我们有一些“ username@companyname.com ”格式的电子邮件地址,请编写程序以打印给
定电子邮件地址的用户名。用户名和公司名都仅由字母组成。
示例:如果将以下电子邮件地址作为该程序的输入:
join@google.com
join@google.com
join
提示
使用\ w匹配字母。
问题54
假设我们有一些“ username@companyname.com ”格式的电子邮件地址,请编写程序以打印给
定电子邮件地址的公司名称。用户名和公司名都仅由字母组成。
示例:如果将以下电子邮件地址作为该程序的输入:
join@google.com
输出:
问题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
提示
进行递归运算以求和