作业一 :任意一个数字列表,然后进行排序(冒泡排序)
方法一:
1 def test1(): 2 list1 = [1,23,4,6,8,55,2,9,90,35] 3 list1.sort() # sort()方法是对原列表进行排序 4 print(list1) 5 test1()
方法二:
1 def test11(): 2 list1 = [1,23,4,6,8,55,2,9,90,35] 3 len_list1 = len(list1) 4 while len_list1>0: 5 for i in range(len_list1-1): #保证有足够的迭代次数,从而输入正确的结果 6 if list1[i] > list1[i+1]: 7 # list[i],list[i+1] = list[i+1],list[i] 8 li = list1[i] 9 list1[i] = list1[i+1] 10 list1[i+1] = li 11 len_list1 -= 1 12 print(list1) 13 test11()
作业二:抽签:25选5去做不可描述的事情(要用到Python自带模块)
1 import random 2 def test2(): 3 num = random.sample(range(1, 25),5) #从1,25中选取5个随机整数 4 print(num)
作业三:输入一个数,判断是不是水仙花数。
1 def test31(): 2 while 1: 3 num = input('输入一个数') 4 lens = len(num) 5 sum = 0 6 for n in num: 7 sum += pow(int(n),lens) 8 print(f'{num}是水仙花数' if int(num)==sum else f'{num}不是水仙花数') 9 test31()
1 def test32(): 2 lao_A = input("请输入一个数字:") 3 s = int(lao_A[0])**3 + int(lao_A[1])**3 + int(lao_A[2])**3 4 if int(lao_A) == s: 5 print("是的") 6 else: 7 print("不是") 8 test32()
1 def test33(): 2 for i in range(100,1000): 3 sum = 0 4 num = i 5 while num: 6 sum = sum+(num%10)**3 7 num = num // 10 8 if sum == i: 9 print(i ,'是水仙花') 10 test33()
1 def test34(): 2 for i in range(100,1000): 3 a = i // 100 4 b = i // 10 % 10 5 c = i % 10 6 if i == a**3 + b**3 + c**3: 7 print(i, '是水仙花') 8 test34()
作业四:生成两个列表,第一个列表100-0中的偶数(不包含0)。第二个列表:取出第一个列表中3的倍数(第二个列表应从第一个列表中取)。 使用列表表达式来完成本题。
1 def test4(): 2 li = [j for j in [i for i in range(1,101) if i % 2 == 0] if j % 3 ==0] 3 print(li) 4 test4()
1 def test41(): 2 list = [] 3 list1 = [] 4 for i in range(1,101): 5 if i % 2 == 0: 6 list.append(i) 7 print(list) 8 for i in list: 9 if i % 3 == 0: 10 list1.append(i) 11 print(list1) 12 test41()