python 求解数学表达式的值

如何用python求解数学表达式的值呢,才开始学,不是很会这个,求帮助

img

img

纯用 math 手写:


import math

# 用户输入参数
x = float(input("请输入x值:"))
mean = float(input("请输入均值mean值:"))
std = float(input("请输入标准差std值:"))

# 计算标准正态分布的累计函数
standard_normal_cdf = (1.0 + math.erf(x / math.sqrt(2.0))) / 2.0

# 计算一般正态分布的累计函数
normal_cdf = (1.0 + math.erf((x - mean) / (std * math.sqrt(2.0)))) / 2.0

# 计算双曲正切函数
tanh_value = math.tanh(x)

# 输出结果保留5位小数
print("标准正态分布的累计函数:{:.5f}".format(standard_normal_cdf))
print("一般正态分布的累计函数:{:.5f}".format(normal_cdf))
print("双曲正切函数:{:.5f}".format(tanh_value))

另外,用scipy更简单,代码如下

import scipy.stats as st
import numpy as np

# 用户输入参数
x = float(input("请输入x值:"))
mean = float(input("请输入均值mean值:"))
std = float(input("请输入标准差std值:"))

# 计算标准正态分布的累计函数
standard_normal_cdf = st.norm.cdf(x)

# 计算一般正态分布的累计函数
normal_cdf = st.norm.cdf(x, mean, std)

# 计算双曲正切函数
tanh_value = np.tanh(x)

# 输出结果保留5位小数
print("标准正态分布的累计函数:{:.5f}".format(standard_normal_cdf))
print("一般正态分布的累计函数:{:.5f}".format(normal_cdf))
print("双曲正切函数:{:.5f}".format(tanh_value))

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7732767
  • 这篇博客也不错, 你可以看下python自学免费教程-怎样自学python编程?从零开始学习python,python开发入门到精通
  • 同时,你还可以查看手册:python- 用列表实现队列 中的内容
  • 除此之外, 这篇博客: Python实现音乐推荐系统【跟着迪哥学python】中的 对每一个用户,分别统计他的播放总量 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 数据中有用户的编号,歌曲编号,已经用户对该歌曲播放的次数。
    有了基础数据之后,我们还可以统计出关于用户与歌曲的各项指标,例如对每一个用户,分别统计他的播放总量,代码如下:

    output_dict = {}
    with open(data_home+'train_triplets.txt') as f:
        for line_number, line in enumerate(f):
            #找到当前的用户
            user = line.split('\t')[0]
            #得到其播放量数据
            play_count = int(line.split('\t')[2])
            #如果字典中已经有该用户信息,在其基础上增加当前的播放量
            if user in output_dict:
                play_count +=output_dict[user]
                output_dict.update({user:play_count})
            output_dict.update({user:play_count})
    # 统计 用户-总播放量
    output_list = [{'user':k,'play_count':v} for k,v in output_dict.items()]
    #转换成DF格式
    play_count_df = pd.DataFrame(output_list)
    #排序
    play_count_df = play_count_df.sort_values(by = 'play_count', ascending = False)
    

    构建一个字典结构来统计不同用户分别播放的总数,这需要我们把数据集遍历一遍。当我们的数据集比较庞大的时候,每一步操作都可能花费较长时间,后续操作中如果稍有不慎可能还得重头再来一遍,这就得不偿失了,最好还是把中间结果保存下来,既然我们已经把结果转换成df格式,直接使用to_csv()函数就可以完成保存的操作。

    play_count_df.to_csv(path_or_buf='user_playcount_df.csv', index = False)
    
  • 您还可以看一下 Toby老师的python机器学习-乳腺癌细胞挖掘课程中的 python机器学习生物信息学概述(必看)小节, 巩固相关知识点