美文网首页
【高级特性】51、上机练习:生成器

【高级特性】51、上机练习:生成器

作者: 看远方的星 | 来源:发表于2021-06-03 18:14 被阅读0次

目录
一、两个数的商
二、勾股数
三、斐波那契数列

一、两个数的商

编写程序,输入两个数,输出它们的商,采用例外处理来处理两种错误,给出用户友好的提示信息
1)除数为0
2)输入了非数值

try:
    numa = float(input("请输入数字a:"))
    numb = float(input("请输入数字b:"))
    numc = numa / numb

except ZeroDivisionError as e:
    print("除数不能为零,请重新输入:")
    numb = float(input("请输入数字b:"))

except ValueError as e:
    print("您输入的是非数字,请输入数字:")
    numa = float(input("请输入数字a:"))
    numb = float(input("请输入数字b:"))
finally:
    numc = numa / numb
    print(f"{numa}除{numb}为:", numc)

二、勾股数

编写一个推导式,生成包含100以内所有勾股数(i,j,k)的列表

a = [(i, j, k) for i in range(1, 101) for j in range(i + 1, 101)
     for k in range(j + 1, 101) if k ** 2 == i ** 2 + j ** 2]

print(a)

三、斐波那契数列

编写一个生成器函数,能够生成斐波那契数列
提示:

def fib():
       …
for fn in fib():
       print(fn)
       if fn > 1000:
          break

相关文章

网友评论

      本文标题:【高级特性】51、上机练习:生成器

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