实验一 Python语法及函数式编程

目录

实验目的:

实验内容:

实验步骤:

实验心得:


实验目的:

1. 掌握Python基础语法

2. 掌握Python函数

3. 掌握面向对象程序设计

实验内容:

  1. 编写程序求一元二次方程的解,系数由键盘输入。
import math
a=int(input("请输入a:"));
b=int(input("请输入b:"));
c=int(input("请输入c:"));

if a!=0:
    d = b * b - 4 * a * c
    if d < 0:
        print("该方程无实根")
    elif d == 0:
        out = -b / (2 * a)
        print("方程有且只有一个实根:%0.2f" % out)
    elif d > 0:
        x1 = (-b + math.sqrt(d)) / (2 * a)
        x2 = (-b - math.sqrt(d)) / (2 * a)
        print("方程有两个实根,分别为:%0.2f和%0.2f" % (x1, x2))
else:
    if b==0:
        print("输入错误!")
    else:
        out = -c / b
        print("该方程为一元一次方程只有一根:%0.2f" % out)

2.编写程序,产生两个区间[0, 100]内的随机整数a和b,求a和b的最大公约数和最小公倍数。

import random
a=m=random.randint(0,100)
b=n=random.randint(0,100)
temp=0
if a>b:
    while b!=0:
        temp=a%b
        a=b
        b=temp
    x=(m*n)/a
    print("{0},{1}的最大公约数为:{2},最小公倍数为:{3}".format(m,n,a,x))
else:
    while a != 0:
        temp = b % a
        b = a
        a = temp
    x = (m * n) / b
    print("{0},{1}的最大公约数为:{2},最小公倍数为:{3}".format(m, n, b, x))

3.编写函数fib(n)求斐波那契数列第n项的值,规定第一二项的值为1。并利用函数式编程(匿名函数、可迭代对象)求某列表如[5, 15, 3, 7]中的值所对应的fib(n)值。

n = int(input('请输入要一个整数:'))
n_1 = 0
n_2 = 1
current=1
for x in range(2, n+1):
    current = n_1 + n_2
    n_1 = n_2
    n_2 = current
print('第%d个数是%d'%(n, current))

4.编写程序,创建类Temperature,其中包含成员变量degree(表示温度),及实例方法ToFahrenheit(摄氏转华氏温度) ToCelsius(华氏温度转摄氏),并编写测试代码。效果如图所示:

class Temperature:
    def __init__(self,degree):
        self.degree=degree
    #摄氏度转化成华氏度
    def c_f(degree):
        degree=float(degree)
        degree1=(degree*9/5)+32
        return degree1
    #华氏度转化成摄氏度
    def f_c(degree1):
        degree1=float(degree1)
        degree=(degree1-32)*5/9
        return degree
degree=float(input("请输入摄氏温度:"))
ToFahrenheit=Temperature.c_f(degree)
print("摄氏温度={0},华氏温度={1}".format(degree,ToFahrenheit))
degree1=float(input("请输入华氏温度:"))
ToCelsius=Temperature.f_c(degree1)
print("华氏温度={0},摄氏温度={1}".format(degree1,ToCelsius))

实验步骤:

  1. 用公式法求解,利用求根公式求解,考虑a,b的取值分情况讨论
  2. 引用随机数模块,生成两个随机数,再用辗转相除法求解
  3. 斐波那契数列是前两个数为1,后面的数为前两个数之和
  4. 构造类,定义构造函数,定义两个温度互相转化的方法

实验心得:

在第一题的时候,忘记考虑对于a,b值的考虑,输入001的时候就会报错,少了对于各种情况的考虑,实验的时候遇到未解析引用,直接添加模块名解决。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值