美文网首页程序员
Python助力期末!期末不挂科!

Python助力期末!期末不挂科!

作者: 爱是一道光_e5f7 | 来源:发表于2020-11-20 13:16 被阅读0次

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

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

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

方法一

inputNum = int(input("你需要几项?"))

# 第一和第二项

n1 = 0

n2 = 1

count = 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 = ToN

toB = ToM

p = 0

temp = 0

r = 0

if ToN < ToM:

    temp = ToN

    ToN = ToM

    ToM = temp

p = ToN * ToM

while ToM != 0:

    r = ToN % ToM

    ToN = ToM

    ToM = r

print("(%s,%s)最大公约数是: %s" % (str(toA), str(toB), str(ToN)))

print('(%s,%s)最小公倍数是: %s' % (str(toA), str(toB), str(p // ToN)))

1234567891011121314151617181920

2.2更相减损法

a = int(input('a='))

b = int(input('b='))

n = a

m = b

while a != b:

    if a > b:

        a = a - b

    else:

        b = b - a

print('(%s, %s)的最大公约数是: %s' % (n, m, a))

print('(%s, %s)的最小公倍数是: %s' % (n, m, m * n // a))

print('{} {}的最小公倍数是: {}'.format(n, m, m * n // a))

12345678910111213

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, "是素数")

12345678

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 False

lower = int(input('最小值:'))

upper = int(input('最大值:'))

for j in range(lower, upper + 1):

    if daffodil(j):  # 调用daffodil()判断函数

        print(j, end=' ')

12345678910111213141516

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);

12345678910

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])

1234567891011121314151617181920212223

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 + tup2

print(tup3)

tup = ('red', 'green', 1997, 2000)

print(tup)

del tup

print("After deleting tup : ")

# print(tup)

print("print(tup) 这里会报错, 因为tup元组已删除")

1234567891011121314151617

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)

12345678910111213

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))

123456789101112131415161718192021222324

第二种

print("===第二种===")

# 对原列表去重并按从小到大排序

s = set([3, 5, 9, 10])

print("s=", s)

t = set("Hello")

print("t=", t)

a = t | s

print("a=", a)

b = t & s

print("b=", b)

# 去除重复

c = t - s

print("c=", c)

d = t ^ s

print("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 = 9

numTwo = 8

print(numOne if numOne < numTwo else numTwo)

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

9 九九乘法表

for neI in range(1, 10):

    for neJ in range(1, neI + 1):

        print('{} x {} = {}\t'.format(neJ, neI, neI * neJ), end='')

    print()

1234

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()

123456789101112131415161718192021

11 百钱买百鸡

i = 0

for 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 += 1

print('总共{}种'.format(i))

相关文章

  • Python助力期末!期末不挂科!

    编程输出斐波那契数列的前若干项。即根据用户输入的正整数, 输出数列的各项,如输入正整数5,则输出斐波那契数列的前五...

  • 新年新气象

    愿2019年所有的遗憾,2020年都能实现。 眼下还是好好学习期末不挂科不挂科不挂科

  • 我祈祷。

    我努力。我认真地努力。 我祈祷。我衷心地祈祷。 期末不挂。 期末不挂。 期末不挂。

  • 大学课程期末不挂科,

    高数,线代,概率论,材料力,四六级,学习资料,应有尽有想要的私聊啦

  • 圣诞快乐

    平安顺遂 万事胜意 期末不挂科 工作的也要有好运气

  • 加油,期末不挂

    好好准备,大学里的期末考试即将来临,认真复习统筹管理,一题一题的去了解,分清重点,重点复习,借助以前所构造的知识体...

  • 每个胖子都有自己最无辜的岁月

    又快到了期末考试了。想着以前还在高中晃荡的时候就觉得大学贼舒坦,不挂科就行!可是现如今却发现不挂科是多么难...

  • 何苦那么任性,苦了自己

    上了大学,迎来了第一次考试周,期末考,挂科或不挂科,全在自己。 想着很多愿望...

  • 为了期末不挂科,我拼命复习

    1. 这个学期因为实训两周连着上,而考试又早了一些,我们基本没有专门的复习周,所以只能自己留时间来复习。 元旦过后...

  • 你转发锦鲤的样子,真丑!

    临近期末,朋友圈中转发锦鲤,转发杨超越等保佑考试不挂科的各种“吉祥物又开始霸屏了。 “转发这条锦鲤,你期末会增加5...

网友评论

    本文标题:Python助力期末!期末不挂科!

    本文链接:https://www.haomeiwen.com/subject/wpydiktx.html