题目1:编写一个名为collatz()的函数,它有一个名为number的参数,如果参数是偶数,那么collatz()就打印出number/2,如果number是奇数,collatz()就打印3*number+1。
def collatz(number):
if number%2==0:
print(number/2)
else:
print(3*number+1)
题目2:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
注:运行以上程序前,你需要在脚本执行的目录下创建 test1.txt、test2.txt 文件
import string
fp=open("test1.txt")
a=fp.read()
fp.close()
fp=open("test2.txt")
b=fp.read()
fp.close()
fp=open("C.txt",'w')
l=list(a+b)
l.sort()
s="".join(l)
fp.write(s)
fp.close()
题目3:元素分类。给定如下的集合[11,22,33,44,55,66,77,88,99,90],创建一个字典,第一个键(“min”)对应的值是所有小于66的值,第二个键(“max”)对应的值是所有大于或等于66的值。输出该字典的所有键值对。
list1=[11,22,33,44,55,66,77,88,99,90]
list2=[]
list3=[]
for i in list1:
if i < 66:
list2.append(i)
else:
list3.append(i)
dict1={'min':list2,'max':list3}
题目4:创建一个名为names的空列表,往里面按顺序添加 Lihua、Rain、Jack、Xiuxiu、Peiqi和Black共6个元素。再分别按照如下3个要求对names进行操作(每个操作不相关):
1. 往names列表里Black前面插入一个Blue,后面插入White,输出names列表;
2. 把names列表中Xiuxiu的名字替换成“秀秀”,并输出names列表;
3. 创建新列表[1,2,3,4,2,5,6,2],将新列表元素追加到names列表末尾,并输出names列表;取出names列表中索引2-10的元素,步长为2,打印所取出的元素。
names=['Lihua','Rain','Jack','Xiuxiu','Peiqi','Black']
print(names)
names.insert(names.index('Black'),'Blue')
names.insert(names.index('Black')+1,'White')
print(names)
names[names.index("Xiuxiu")]="秀秀"
print(names)
list4=[1,2,3,4,2,5,6,2]
names.extend(list4)
print(names)
names_1=names[2:10:2]
print(names_1)
题目5:创建一个10*10的随机矩阵,输出该矩阵及最大和最小元素值。
from numpy import random as rd
a = rd.random(size=(10,10))
print("min:",a.min())
print("max:",a.max())
题目6:定义一个字典。其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品。例如,字典值{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}。写一个名为 displayInventory()的函数,参数是字典,打印输出物品个数和物品名称,并统计物品总数量。(输出格式参考下图)
dict2={'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}
def displayInventory(d):
print("Inventory:")
for i in d:
print(d[i],i)
print("Total number of items:",sum(d.values()))
displayInventory(dict2)