Python学习一、一个小例子
一、题目:
对于一串氨基酸序列(由字母表前二十个大写字母组成),需要得到每一个氨基酸数目,然后输出到文件夹D:\test\frq.txt,要求用循环和字典实现。
氨基酸序列如下:
ABCDEFGHIJKLMNNLKJIHDCBA
frq.txt的例子如下:
第一行是题目。
第二行是二十个个氨基酸的首字母,中间以'\t'分隔
第三行是每一个氨基酸出现的次数,中间以'\t'分隔
第四行是每一个氨基酸出现的频率,中间以'\t'分隔
二、分析
首先是创建字典。然后每一个字典的值设为0.
然后通过循环遍历,得到每一个字母出现的次数。
然后打开文件(没有这个文件夹或者是文档需要创建)
然后是输出。
三、代码
代码如下:
#如果目录不存在,则创建
import os
dirs = 'D:\\test'
if not os.path.exists(dirs):
os.makedirs(dirs)
#创建字典
dirt1={ 'A':, 'B':, 'C':, 'D':, 'E':,
'F':, 'G':, 'H':, 'I':, 'J':,
'K':, 'L':, 'M':, 'N':, 'O':,
'P':, 'Q':, 'R':, 'S':, 'T':
}
#这里输入检索字符串 str="MNAPERQPQPDGGDAPGHEPGGSPQDELDFSILFDYE\
YLNPNEEEPNAHKVASPPSGPAYPDDVLDYGLKPYSPLASL\
SGEPPGRFGEPDRVGPQKFLSAAKPAGASGLSPRIEITPSHE\
LIQAVGPLRMRDAGLLVEQPPLAGVAASPRFTLPVPGFEGYR\
EPLCLSPASSGSSASFISDTFSPYTSPCVSPNNGGPDDLCPQF\
QNIPAHYSPRTSPIMSPRTSLAEDSCLGRHSPVPRPASRSSSP\
GAKRRHSCAEALVALPPGASPQRSRSPSPQPSSHVAPQDHGSPA\
GYPPVAGSAVIMDALNSLATDSPCGIPPKMWKTSP" #简单测试例子
#str='ABCDEFGH'
for x in range(len(str)):
if str[x] in dirt1:
dirt1[str[x]]+=
#输出显示结果
#print (dirt1) #输出到文件
data=open('D:\\test\\frq.txt','w')
print('氨基酸出现频率',file=data)
#输出字母
for x in dirt1:
print(x+'\t',end='',file=data)
print('',file=data)
#输出数目
for x in dirt1:
print(dirt1[x],'\t',end='',file=data)
print('',file=data)
#输出频率,修改round(,)里面的数字确定保留几位小数
for x in dirt1:
print(round(dirt1[x]/len(str),),'\t',end='',file=data)
data.close()
print('finish!')
print('you can see the result in the D:\\test\\frq.txt.')
四、注意问题
1、如果输出文件夹不存在,我们需要如何创建
#如果目录不存在,则创建
import os
dirs = 'D:\\test'
if not os.path.exists(dirs):
os.makedirs(dirs)
2、文档不存在,如何创建
data=open('D:\\test\\frq.txt','w')
//代码会自动实现,如果文档不存在则自动创建
3、如何不换行的输出
data=open('D:\\test\\frq.txt','w')
//file=data, file是关键字,data使我们自己定义的,代表向文件输出
//end='',是关键,代表我们在输出以后末尾加上什么,如果只是''则什么都不加,如果是' '则是存在空格
print('name',end='',file=data)
4、如果实现列与列之间的间距
输出结果加上'\t'就可以
5、如何实现输出小数的小数位数的控制
关键在于round(num, 4)这个函数,num是我们操作数,4代表小数点后四位。
6、如何判断一个键是否是在字典里面。
if x in dirt1 就已经足够判断了
Python学习一、一个小例子的更多相关文章
- 【python】由一个小例子看出python的灵活性,IF ELSE一例
temp = input("请输入1到100之间的数字:") num = int(temp) if 1 <= num <= 100: ...
- java连接mysql的一个小例子
想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...
- java操作xml的一个小例子
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...
- MVVM模式的一个小例子
使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...
- 使用Trinity拼接以及分析差异表达一个小例子
使用Trinity拼接以及分析差异表达一个小例子 2017-06-12 09:42:47 293 0 0 Trinity 将测序数据分为许多独立的de Brujin grap ...
- Vue2.x源码学习笔记-从一个小例子查看vm实例生命周期
学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看 ...
- 简明Python中的一个小错误
最近在学Python,先看的是<Python基础教程>,后来经别人推荐,感觉网络上的<简明Python教程>也挺好的,在里面发现一个小错误. 网址如下:http://sebug ...
- 从一个小例子认识SQL游标
1 什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序 ...
- 关于SVN配置文件的一个小例子
1 背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计.销售,并在北京.上海各设立了一个办事处.对于工作日志,原先采用邮件方式发给经理,但是这种方式 ...
- Spring和Hibernate结合的一个小例子
1.新建一个SpringHibernate的maven项目 2.pom文件的依赖为 <dependency> <groupId>junit</groupId> &l ...
随机推荐
- Markdown 使用误区
新手写 Markdown 容易犯这么个错: 为了美观,使用标记. 例如 为了让一句话显示粗体,使用标题. 嫌 3 级标题字体太大,2 级标题子标题使用 4 级. 强调一个词,使用行内代码. -- 每个 ...
- [转载] redis学习入门 Redis 3.2.100
参考博客: https://blog.csdn.net/flyer_tang/article/details/80320974 https://blog.csdn.net/weixin_3077313 ...
- Larave中CSRF攻击
1.什么是CSRF攻击? CSRF是跨站请求伪造(Cross-site request forgery)的英文缩写\ Laravel框架中避免CSRF攻击很简单 ...
- How to: Recompile the Business Class Library 如何:重新编译业务类库
The eXpressApp Framework supplies the Business Class Library that consists of three assemblies. eXpr ...
- Entity Framework Core Code First 项目实践
Entity Framework Core Code First 实践 任何一种技术的出现都是为了解决一系列特定的问题,只有了解了技术所要解决的关键问题,才能理解它的真正用途,之后,才能在实践中用好它 ...
- SSH框架之Spring第四篇
1.1 JdbcTemplate概述 : 它是spring框架中提供的一个对象,是对原始JdbcAPI对象的简单封装.spring框架为我们提供了很多的操作模板类. ORM持久化技术 模板类 JDBC ...
- bayaim_Centos7.6_mysql源码5.7-multi_20190424.txt
用户名/密码mysql/mysql 一.安装mysql: 位置位于 /data/mysql 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除 ...
- Redhat Linx使用Centos yum源
一.故障现象: 在安装了Read linux后,使用yum安装软件,出现如下提示:[root@localhost~]# yum install xxxLoaded plugins: product-i ...
- 10 个提升效率的Linux小技巧
您是否曾经惊讶于看到某人在 UNIX 中非常快速地工作,触发命令并快速地执行操作?是的,我碰到过几次,并且我一直都在向那些超级巨星开发者学习.在本文中,我想分享一些 UNIX 命令实践,这些实践是我在 ...
- 【Luogu P3994】高速公路
Problem Background \(C\) 国拥有一张四通八达的高速公路网树,其中有 \(n\) 个城市,城市之间由一共 \(n-1\) 条高速公路连接.除了首都 \(1\) 号城市,每个城市都 ...