关于一个正弦波程序表格生成器

首先附上代码----先声明,我是个抓不到钱的菜鸟,开始再这里分享我的成长。

import math
import time
fp = "正弦波表格.txt"
def sintab_create(tableIndex,tablelength,highVol,period,outVol):with open(fp,"a") as f:f.write('''static const uint8_t TabData_%d[%d]=//%dV\n{\n''' %(tableIndex, tablelength,highVol))for Count in range(0,tablelength):temp = outVol*(2**0.5)*math.sin(math.pi*Count/(2*tablelength))/highVol*period#temp = math.sin(PI * Count / (2 * period))f.write(str(int(temp))+",")if Count%10==9:f.write("\n")f.write("}\n")f.close()if __name__ == "__main__":print("你好")with open(fp, "w") as f:f.write("\\\\"+str(time.time())+"\n")TableLength = int(input("请输入想生成的表格个数(0-1000个):"))TableIndex = int(input("请输入每个表格的长度(83或者100):"))PwmPeriod = int(input("请输入PWM周期(167或者200):"))SinOut    = int(input("请输入输出电压(100V或者220V):"))HighVolInput = int(input("请输入你想设定的最低电压值:"))for HighVolinedx in range(0,TableLength):HighVolNow = HighVolInput+HighVolinedx*2sintab_create(HighVolinedx,TableIndex,HighVolNow,PwmPeriod,SinOut)temp = 1while temp:temp = int(input("输入0表示tui退出:"))

1. 代码解析

代码相当简单,没有做UI,等有空了在增加一个UI。主要用到的也只是以下几个

  1. 代码输入input(),当然可以用raw_input()。

    TableLength = int(input("请输入想生成的表格个数(0-1000个):"))
  2. 主函数main的使用:

    if __name__ == "__main__":
  3. 条件语句和循环语句 if for while的使用。

     for HighVolinedx in range(0,TableLength):while temp:if Count%10==9:
  4. txt的新建,打开和写入,读写功能

    fp = "正弦波表格.txt"
    with open(fp,"a") as f:f.read()f.write()
  5. 函数的定义

    def sintab_create(tableIndex,tablelength,highVol,period,outVol):
  6. 标准化输出,和C语言略有不一样

    f.write('''static const uint8_t TabData_%d[%d]=//%dV\n{\n''' %(tableIndex, tablelength,highVol))

2.关于公式的计算

直流高压∗占空比值/周期∗dt=需要的正弦波值∗根号2∗sin(Π/2/表格数∗index)∗dt直流高压*占空比值/周期*dt = 需要的正弦波值*根号2*sin(Π/2/表格数*index)*dt 直流高压∗占空比值/周期∗dt=需要的正弦波值∗根号2∗sin(Π/2/表格数∗index)∗dt

由于md格式刚用不久,不太会用公式工具,见谅。此公式涉及到能量等效,功率等效。

3.遇到的问题

  1. 不要自己定义特定变量–特别是Π这样的值。

    import math
    #这里的math可以完成大多数的值
  2. 在生成可执行文件exe的时候

    1. 需要安装:pip install pyinstaller 这个实测在pycharm里面会产生错误,多试几次就好了

    2. #安装完成后:执行
      pyinstaller --hidden-import=pkg_resources -F main.py 
    3. 不要执行

      pyinstaller -w -F main.py
      #这一行会导致程序不执行,暂时还没有找到原因

4.后续完善

这只是个小demo,方便写程序的。后期完善的话,会陆续再写个UI界面。共同进步吧。

多一句,今天看到前女友要结婚了,而自己还单身一人,略有后悔吧,还在纠结要不要参加她的婚礼

关于一个正弦波程序表格生成器相关推荐

  1. 使用 Flutter 制作一个简单的笑话生成器应用程序

    在本教程中,我将向您展示如何使用 Flutter 制作一个简单的笑话生成器应用程序 对于这个项目,我们将从 RESTful API 获取数据 API的链接: 随机笑话 对于这个项目,我不会关注应用程序 ...

  2. 一个资深程序猿对Python的总结

    1.环境管理:管理 Python 版本和环境的工具. p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令 ...

  3. 用java实现一个计算器程序_1.2第一个java程序——hello world

    第一个java程序--hello world 实现一个java程序,主要有三个步骤:1.编写源代码,2.编译源代码,3.运行.java的源代码必须先编译,然后才能由JVM解析执行.所以我们程序员第一步 ...

  4. 使用 Node.js、Express、AngularJS 和 MongoDB 构建一个Web程序

    为什么80%的码农都做不了架构师?>>>    使用 Node.js.Express.AngularJS 和 MongoDB 构建一个实时问卷调查应用程序 2014 年 3 月 20 ...

  5. GPU 编程入门到精通(三)之 第一个 GPU 程序

    博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程.有志同道合的小伙伴 ...

  6. python用一行代码编写一个回声程序_利用Python实现一个WC程序

    项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数 ...

  7. 第一个Windows程序讲解

    上次,我们一起写了第一个Windows程序,虽然程序非常简单,但是它却可以帮助大家建立学好windows开发的信心. 今天,就让我帮助大家分析一下这个程序的内容.首先,我们的程序包含了一个头文件:wi ...

  8. 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Progr

    2019独角兽企业重金招聘Python工程师标准>>> 第2章 创建你的第一个 LISP 程序 Creating Your First Lisp Program 翻译者:FreeBl ...

  9. 一个C++程序员的学习经历

    原文出处:http://www.uml.org.cn/success/201304082.asp 正在上网的时候有这个念头的,所以急急忙忙找了一些学习编程的高人的感想: 我开始学VC时就是自己一个人在 ...

  10. 摩斯电码php源码,利用PHP怎么编写一个摩斯电码生成器

    利用PHP怎么编写一个摩斯电码生成器 发布时间:2020-12-15 16:16:54 来源:亿速云 阅读:78 作者:Leah 这篇文章给大家介绍利用PHP怎么编写一个摩斯电码生成器,内容非常详细, ...

最新文章

  1. 设计模式 之美 -- 代理模式
  2. 区块链行业报告|从交易流程到Token经济的全方位解析
  3. 四种高性能数据类型,Python collections助你优化代码、简洁任务
  4. python deepcopy_轻轻吐槽下python的deepcopy居然一点不deep
  5. #CSP 201912-1 报数(C语言)(100分)
  6. sublime快捷键设置
  7. Python实现简单的人脸打卡系统
  8. 通过Shiny app实现疫苗预防疾病的过程
  9. js 定义函数的几种方法 以及如何调用
  10. stm32 某个io引脚不能拉高_【stm32f407】IO引脚复用和映射
  11. 公式编辑器里面添加空格
  12. CSDN下载码如何使用以及免积分下载
  13. IM通讯系统分析与实战
  14. Python爬虫编程思想(69): 项目实战--抓取当当图书排行榜
  15. android persistent属性研究
  16. 监控系统-Prometheus(普罗米修斯)(三)Grafana可视化图形工具
  17. java实现简单的 cs架构
  18. 测试过程中遇到的问题总结
  19. pyecharts:日历图实战
  20. python pandas excel 排序_python – Pandas – 使用datetimeindex对数据帧进行排序

热门文章

  1. 阿里代码规范pdf_5年老码农的代码规范,值得学习!
  2. STM32串口中断接收
  3. step 7在win10上安装教程及安装包
  4. sterm机器人编程_STEAM智能编程机器人
  5. 解决Navicat 15注册机出现 rsa public key not found
  6. kaggle--猫狗数据集分类
  7. Linux系统软件看门狗
  8. html中pre的作用是,HTML pre 标签与code标签的作用与用法
  9. c 语言min max 归一化,归一化方法 Normalization Method
  10. 乐视电视安装鸿蒙系统,乐视电视更新后无法识别apk文件怎么办?方法教程