在完成基础知识的准备下,完成程序设计: (一)给一个范围,让用户去猜这个数字是多少,并输入自己猜测的数字,系统判定是否给定的数字,并给出相应的提示信息,直到猜中为止。 参考程序(要有程序说明和心得) import random number = random.randint(1, 100) guess = 0 while True: num_input = input('请输入一个1到100的整数:') guess += 1 if not num_input.isdigit(): print('请输入一个1到100的整数!!') elif int(num_input) <= 0 or int(num_input) >= 100: print('输入的数必须是1到100之间的整数!!') else: if number == int(num_input): print(f'恭喜您,猜对了,您总共猜了{guess}次。') print('-' * 30) quit = input('是否退出? y(退出)') if quit == 'y': break else: guess = 0 number = random.randint(1, 100) continue elif number > int(num_input): print('您输入的数字小了!!') elif number < int(num_input): print('您输入的数字大了!!') else: print("系统发生问题!?")
实训目的:熟练运用列表、元组、字典、集合等各种数据类型,在设计程序中灵活运用这些数据类型简化程序,提高程序设计效率。 完成如下两道程序设计(要有程序说明和心得) (一)按降序合并如下两个list, 并去除重复的元素: list1 = [2, 3, 8, 4, 9, 5, 6] ist2 = [5, 6, 10, 17, 11, 2] 参考程序: list1 = [2, 3, 8, 4, 9, 5, 6] list2 = [5, 6, 10, 17, 11, 2] l3 = list1 + list2 s1 = set(l3) # 去重 l4 = list(s1) l4.sort(reverse=True) print(l4) (二)、某学校有3个办公室,有8个老师等待分配办公室,编写程序完成办公室的随机分配。 参考程序: import random teachers = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] offices = [[], [], []] for i in teachers: off_num = random.randint(0, 2) offices[off_num].append(i) # print(offices) j = 1 for office in offices: print(f'办公室{j}号,有老师{len(office)}:') for name in office: print(name) j += 1
实训目的:加深对函数基本知识的理解,能够熟练运用函数,对函数的语法、参数、作用域等知识点理解深刻。 完成如下两道程序设计(要有程序说明和心得) (一)编写函数,求两个正整数的最小公倍数。 参考程序: # 定义函数 def lcm(x, y): # 获取最大的数 if x > y: greater = x else: greater = y while True: if (greater % x == 0) and (greater % y == 0): lcm1 = greater break greater += 1 return lcm1 (二)编写函数,求出“1 /(1*2)-1/(2*3)+1(3*4)-1/(4*5)+......”前n项的和,函数以n为参数,它是用户输入的。 参考程序: def sum(n): res = 0 while n >= 1: if n % 2 == 0: res -= 1.0/(n*(n+1)) else: res += 1.0/(n*(n+1)) n -= 1 return res num = int(input("请输入一个整数:")) print(sum(num))
|