Python助力期末

网友投稿 738 2022-11-17

Python助力期末

Python助力期末

1 编程输出斐波那契数列的前若干项。即根据用户输入的正整数,

输出数列的各项,如输入正整数5,则输出斐波那契数列的前五项:1,1,2,3,5

方法一

inputNum = int(input("你需要几项?"))# 第一和第二项n1 = 0n2 = 1count = 2# 判断输入的值是否合法if inputNum <= 0: print("请输入一个正整数。")elif inputNum == 1: print("斐波那契数列:") print(n1)else: print("斐波那契数列:") print(n1, ",", n2, end=" , ") while count < inputNum: nth = n1 + n2 print(nth, end=" , ") # 更新值 n1 = n2 n2 = nth count += 1

方法二

def fibo(n): if n <= 1: return n else: return fibo(n - 1) + fibo(n - 2)num = int(input("请输入列出的斐波那契数列到第几项: "))for i in range(num): print('%s' % (fibo(i)), end=' ')

2 用函数

实现最大公约数算法和最小公倍数算法,并且编写测试程序测试这两个算法。

2.1

ToN = int(input('ToN='))ToM = int(input('ToM='))toA = ToNtoB = ToMp = 0temp = 0r = 0if ToN < ToM: temp = ToN ToN = ToM ToM = tempp = ToN * ToMwhile ToM != 0: r = ToN % ToM ToN = ToM ToM = rprint("(%s,%s)最大公约数是: %s" % (str(toA), str(toB), str(ToN)))print('(%s,%s)最小公倍数是: %s' % (str(toA), str(toB), str(p // ToN)))

2.2更相减损法

a = int(input('a='))b = int(input('b='))n = am = bwhile a != b: if a > b: a = a - b else: b = b - aprint('(%s, %s)的最大公约数是: %s' % (n, m, a))print('(%s, %s)的最小公倍数是: %s' % (n, m, m * n // a))print('{} {}的最小公倍数是: {}'.format(n, m, m * n // a))

3 编写输出10以内素数的循环程序。

for i in range(2, 10): for j in range(2, i): if i % j == 0: print(i, "等于", j, "*", int(i / j)) break else: print(i, "是素数")

4 求指定区间内的水仙花数(亦称阿姆斯特朗数),要求使用循环语句和判断语句。

如果一个n位正整数等于其各位数字的n次方之和,则称该数为水仙花数或阿姆斯特朗数。 例如3^3 + 7^3 + 0^3 = 370。1000以内的水仙花数有: 1,153,370,371,407

4.1 方法一

def daffodil(n): mysum = 0 for z in str(n): # 将n转换为str类型可直接遍历元素 mysum += int(z) ** len(str(n)) if mysum == n: return True else: return Falselower = int(input('最小值:'))upper = int(input('最大值:'))for j in range(lower, upper + 1): if daffodil(j): # 调用daffodil()判断函数 print(j, end=' ')

4.2 方法二

def shuiXian(startFr, endFr): for fr in range(startFr, endFr): gewei = fr % 10 shiwei = fr // 10 % 10 baiwei = fr // 100 if gewei ** 3 + baiwei ** 3 + shiwei ** 3 == fr: print(fr)shuiXian(1, 100);

5 列表练习:写出各条命令的执行结果

print('=====1.列表练习:写出各条命令的执行结果=====')nameList = ["掌上编程", "敬清秋", "我没有三颗心脏", "xzMhehe"]a = nameList[2]print(a)nameList[0] = "远东以东"print(nameList)print(len(nameList))nameList.append("Kate")print(nameList)nameList.insert(2, "Sydney")print(nameList)print(nameList[0:2])print(nameList[2:])nameList[1] = 'Jeff'print(nameList)nameList[0:2] = ['Dave', 'Mark', 'Jeff']print(nameList)a = [1, 2, 3] + [4, 5]print(a)a = [1, "Dave", 3.14, ["Mark", 7, 9, [100, 101]], 10]print(a[1])print(a[3][2])print(a[3][3][1])

6 元组练习:写出各条命令的执行结果。哪条命令会出错,为什么?

print("=====2.元组练习:写出各条命令的执行结果。哪条命令会出错,为什么?=====")tup1 = ('red', 'green', 1997, 2000, 1, 2)tup2 = (1, 2, 3, 4, 5, 6, 7)print("相同元素:", list(set(tup1).intersection(tup2)))print("tup1[0]: ", tup1[0])print("tup2[1:5]: ", tup2[1:5])print("tup2[3:-1]: ", tup2[3:-1])tup1 = (12, 34.56)tup2 = ('abc', 'xyz')tup3 = tup1 + tup2print(tup3)tup = ('red', 'green', 1997, 2000)print(tup)del tupprint("After deleting tup : ")# print(tup)print("print(tup) 这里会报错, 因为tup元组已删除")

7 字典练习:写出下列各条命令的执行结果

print("=====3.字典练习:写出下列各条命令的执行结果=====")info = {"stu01": "马云", "stu02": "马化腾", "stu03": "邱节"}print(info)print(info["stu01"])print(info.get("stu04"))print("stu03" in info)info["stu02"] = "xzMhehe"print(info)info["stu04"] = "无朽"print(info)del info["stu04"]info.pop("stu03")print(info)

8 集合练习:写出下列各条命令的执行结果

第一种

print("=====4.集合练习:写出下列各条命令的执行结果=====")print("===第一种===")list_1 = [1, 3, 4, 7, 3, 6, 7, 9]# 对原列表去重并按从小到大排序list_1 = set(list_1)list_2 = set([2, 6, 0, 66, 22, 8, 4])list_3 = set([1, 3, 7])print(list_1)print(list_2)print(list_3)# list_1与list_2的交集print("{a} {b}".format(a="list_1与list_2的交集: ", b=list_1.intersection(list_2)))# list_1与list_2的并集print("{a} {b}".format(a="list_1与list_2的并集: ", b=list_1.union(list_2)))# 包含仅存在于集合 x 中而不存在于集合 y 中的元素print("{a} {b}".format(a="包含仅存在于集合 list_1 中而不存在于集合 list_2 中的元素: ", b=list_1.difference(list_2)))# 返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素print("返回两个集合中不重复的元素集合,即会移除 list_1 list_2 两个集合中都存在的元素: ", list_1.symmetric_difference(list_2))# 判断集合的所有元素是否都包含在指定集合中print("{a} {b}".format(a="symmetric_difference(判断集合的所有元素是否都包含在指定集合中): ", b=list_3.issubset(list_1)))print(list_1.issuperset(list_3))list_4 = set([5, 6, 8])print(list_3.isdisjoint(list_4))

第二种

print("===第二种===")# 对原列表去重并按从小到大排序s = set([3, 5, 9, 10])print("s=", s)t = set("Hello")print("t=", t)a = t | sprint("a=", a)b = t & sprint("b=", b)# 去除重复c = t - sprint("c=", c)d = t ^ sprint("d=", d)t.add('x')print("t=", t)s.update([10, 37, 42])print("s=", s)t.remove('H')print("t=", t)t.pop()print("t=", t)t.discard('H')print("t=", t)print(len(s))print('x' in s)print('x' not in s)s.issubset(t)print(s)print(s <= t)print("issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False:", s.issuperset(t))print(s >= t)print("方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次", s.union(t))print("方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次", s | t)print(s.intersection(t))print("s 与 t 的相同元素", s & t)print(s.difference(t))print(s - t)print("s 与 t 的不同元素", s.symmetric_difference(t))# 不同元素print("s 与 t 的不同元素", s ^ t)print(s.copy())numOne = 9numTwo = 8print(numOne if numOne < numTwo else numTwo)

9 九九乘法表

for neI in range(1, 10): for neJ in range(1, neI + 1): print('{} x {} = {}\t'.format(neJ, neI, neI * neJ), end='') print()

10 创建People Student类

class People: def __init__(self, name, age): self.name = name self.age = age def speak(self): print('My name is %s, I am %d years old. ' % (self.name, self.age))class Student(People): def __init__(self, name, age, mark): People.__init__(self, name, age) self.mark = mark def speak(self): People.speak(self) print('My mark is %d' % self.mark)s1 = Student('Jack', 19, 89)s1.speak()

11 百钱买百鸡

i = 0for x in range(1, 100 // 3 + 1): for y in range(1, 100 // 2): z = 100 - x - y if z / 2 + y * 2 + x * 3 == 100: print('小鸡', z, '母鸡', y, '公鸡', x) i += 1print('总共{}种'.format(i))

12 自定义Member并实例化

class Menber: name = '' __weight = 0 def __init__(self, name, weight): self.name = name self.__weight = weight def speak(self): print('我叫%s,体重为%d' % (self.name, self.__weight))if __name__ == '__main__': p = Menber('黎明', 18) p.speak()

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:04-容器 What, Why, How
下一篇:关于spring data jpa 模糊查询like的坑点
相关文章

 发表评论

暂时没有评论,来抢沙发吧~