A. python习题求解
#-*-encoding:utf-8-*-
classBox:
count=0
def__init__(self,length,width,height):
self.length=length
self.width=width
self.height=height
Box.count=Box.count+1
defoutput(self):
self.__v=self.length*self.width*self.height
print"length:"+str(self.length)
print"width:"+str(self.width)
print"height:"+str(self.height)
print"V:"+str(self.__v)
print"runtimes:"+str(Box.count)
b1=Box(1,2,3)
b1.output()
b2=Box(2,3,4)
b2.output()
b3=Box(3,4,5)
b3.output()
b4=Box(4,5,6)
b4.output()
b5=Box(6,7,8)
b5.output()
实例变量:width,height,length
类变量:count
私有变量:self.__v
B. Python题
# 2021-05-13 Luke
ls = []
while True:
x = input("请输入成绩(输入完请按q退出):")
if x == 'q':
break
else:
ls.append(int(x))
ls.sort(reverse=True)
n = 0
for i in ls:
n = n + i
sum_ = n / len(ls)
print("第一名分数是:" + str(ls[0]) + " 第二名分数是:" +
str(ls[1]) + " 第三名分数是:" + str(ls[2]) + " 平均成绩是:" + str(sum_))
C. python练习题
#-*-coding:utf-8-*-
defGuess(word):
print'==============================='
print'Wordsofar:%s'%('*'*len(word))
foriinrange(len(word)):
whileTrue:
j=raw_input('Takeguessnumber%d: '%(i+1))
ifj==word[i]:
print'Gotit!'
print'Wordsofar:%s'%(word[:i+1]+'*'*(len(word)-i-1))
break
else:
print'Sorry!'
print'Wordsofar:%s'%(word[:i]+'*'*(len(word)-i))
defmain():
whileTrue:
word=raw_input('Enterthesecretword(allinlowercase): ')
Guess(word)
print'Congratulations.Youcorrectlyguessedtheword:%s'%word
choise=raw_input('Doyouwanttoplayonemoretime?y/n? ')
ifchoise=='n':
print'ExitNow...'
break
if__name__=='__main__':
main()
>>
Enter the secret word (all in lowercase):
hi
===============================
Word so far:**
Take guess number 1:
a
Sorry!
Word so far:**
Take guess number 1:
h
Got it!
Word so far:h*
Take guess number 2:
i
Got it!
Word so far:hi
Congratulations. You correctly guessed the word: hi
Do you want to play one more time? y/n?
n
Exit Now...
D. 几个Python题目
1.【选择】下面哪个选项不是定义列表的正确方式?(D)
D.myList4=2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:(C)
C.loWo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。(√)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:(D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x="a","b","c"”中,x是一个元组。(√)
2.【选择】执行下列Python语句会报错的是:(A)
A.myTuple[3]=30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)
4.【选择】下列关于Python的描述错误的是:(C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:(D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“”合并字符串“Jane”、“Doe”的Python语句:
"Jane"+""+"Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:(C)
C.s=u"D: est"
------------
1.【选择】下列不是序列的是:(C)
C.集合
3.【选择】下面哪些操作是序列都具有的?(D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.×)
3.【填空】语句set("datascience")的结果是:
集合{'d','a','t','s','c','i','e','n'}
4.【选择】下列关于集合的说法错误的是:(A)
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?(C)
C.集合
---------
1.【填空】有两个列表a=["name","age","sex"],b=["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a,b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1:3,2:'a'}
4.【判断】下面对字典d的定义是正确的。(B.×)
答案解析:列表不能用做键。应该用元组('a','b')做键。
E. Python简单习题
在python中,使用大括号包裹的元素,并且不是以键值对形式出现,这个就是集合。集合(set)是一个无序的不重复元素序列,只要集合元素一样,不论顺序,它们都是相等的
1、测试源码
a = {1, 3, 2}
b = {1, 2, 3}
if a > b:
print('a大于b')
elif a == b:
print('a等于b')
else:
print('a小于b')
2、测试结果
a等于b
即表达式{1,3,2} > {1,2,3}的结果应是False
F. Python习题
这里输出['B','C','D','E','F','G','H'] 这类字符,用list(str)会简单很多,所以每次要从第i位开始截断字符串。
l = "ABCDEFGH"
for i in range(len(l)):
...: print(l[i], list(l[i+1:]))
见如下:
G. python习题(算法)
这个就是循环2n次呀。先是让x=x+c,在把c更新一下c=c+b,最后让b=b+a,这就完成一次循环了。
不过你给的程序不完整。
H. Python习题(急!!!)
#-*-coding:utf-8-*-
N={0:'零',1:'壹',2:'贰',3:'叁',4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖'}
M=['亿','仟','佰','拾','万','仟','佰','拾','元']
H=['角','分']
classPrint:
def__init__(self,a,a1,a2,N):
self.a=a
self.a1=a1
self.a2=a2
self.N=N
defInt(self,M,S=''):
self.M=M
self.S=''
iflen(str(self.a1))>10:
print('输入的金额超限(超出长度)')
else:
b=abs(int(self.a1))
New=[]
forstinstr(b):
ifint(st)inself.N.keys():
New.append(self.N[int(st)])
L=self.M[-len(New):]
for(x,y)inzip(New,L):
self.S+=x+y
returnself.S
defFloat(self,H,S1=''):
self.H=H
self.S1=''
a3=int(100*self.a2)
New1=[]
forst1instr(a3):
ifint(st1)inself.N.keys():
New1.append(self.N[int(st1)])
L1=H[-len(New1):]
for(x,y)inzip(New1,L1):
self.S1+=x+y
returnself.S1if__name__=="__main__":
whileTrue:
a=float(input('请输入金额(不超过10亿元):'))
a1=int(a)
a2=round((a-a1),2)
P=Print(a,a1,a2,N)
ifa2==0.0:
P.Int(M)
print(P.S+'0角0分')
break
else:
P.Float(H)
print(P.Int(M)+P.S1)
break
I. python题
def sumfactor(n):
sum=0
for i in range(1,n):
if n%i==0:
sum+=i
return sum
for i in range(1,1001):
if i==sumfactor(i):
print(i,end=' ')
print()
print()
a=[]
for i in range(1,3001):
if i==sumfactor(sumfactor(i)) and i!=sumfactor(i):
if not((sumfactor(i),i)in a):
a.append((i,sumfactor(i)))
for i in a:
print(i,end=' ')