python基础知识练习2
1.请写出如下代码的结果:
import copy
list1 = [1,2,['a','b'],('c','d')]
list2 = list1
list3 = copy.copy(list1)
list4 = copy.deepcopy(list1)
list1.append(3)
tuple1 = (10,10)
list1[2].append({100})
list1[3] = list1[3] + tuple1
dict1 = {}
dict1['1'] = 1111
list1[2].append(dict1)
print(list1)
print(list2)
print(list3)
print(list4)
解答如下:
Print(list1)--->[1,2,[‘a’,’b’,{100},{‘1’:1111}],(‘c’,’d’,10,10),3]
Print(list2)--->[1,2,[‘a’,’b’,{100},{‘1’:1111}],(‘c’,’d’,10,10),3]
Print(list3)--->[1,2,[‘a’,’b’,{100},{‘1’:1111}],(‘c’,’d’)]
Print(list4)--->[1,2,[‘a’,’b’],(‘c’,’d’)]
2.定义一个类Solition,接受的2个参数类型都是数值,实现的功能有加减乘除(输出结果)和比较大小(输出最大的数)。
class Solition:
def __init__(self,x,y):
self.x=x
self.y=y
def multiplication(self):
c = self.x*self.y
print(c)
def add(self):
d = self.x+self.y
print(d)
p = Solition(3,5)
p.multiplication()
p.add()
3.请定义两个函数,一个函数画正方形,一个函数画三角形,并且可以从键盘输入值来决定画正方形还是画三角形以及决定是否退出程序.
def square():
for i in range(5):
print("*"*5)
def triangle():
for i in range(5):
print('*'*(i+1))
while True:
num = int(input("请输入对应的功能[1-正方形|2-三角形|3-退出]:"))
if num== 1:
square()
elif num== 2:
triangle()
elif num==3:
break
4.从键盘中输入5个学生的名字,存储到列表中,然后打印出每个学生名字中的第2个字母。
方法一:
list1=list()
for i in range(5):
name = input("请输入您的姓名:")
list1.append(name[1:2])
print(list1)
方法二:
list1 = list()
for i in range(5):
list1.append(input("请输入您的名字:"))
# print(list1)
for index,var in enumerate(list1):
print("第{}个名字{}对应的第二个字母是{}".format(index+1,var,var[1]))
5.使用while、if来完成剪刀石头布程序,要求,当玩家连续3次获胜时才退出游戏,否则继续玩。
import random
win_num = 0
while win_num <3:
player = int(input("请输入相应的操作[0-剪刀,1-石头,2-布]:"))
computer = random.randint(0,2)
if (player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1):
win_num += 1
print("恭喜你获得胜利")
elif player==computer:
print("平局")
else:
win_num=0
print("本局失败")```