《python语言程序设计》第8章第12题生物信息:找出基因,生物学家使用字母A C T和G构成字符2串建模一个基因组(上)

news2024/12/27 9:59:46

请添加图片描述

草稿一、用单一方法遍历文本

9.1代码


genome_text = 'TTATGTTTTAAGGATGGGGCGTTAGTT'


def div_word(word_to_judge):
    len_num = len(word_to_judge)
    save_word = ""
    if len_num % 3 == 0:
        print("This word is valid")
        if save_word.find("ATG") == "ATG":
            for i in range(1,len_num):
                save_word = word_to_judge[0 + i:i + 3]
            print(save_word)


    else:
        print("This word is invalid")


div_word(genome_text)

代码结果请添加图片描述
我没用find这个命令.我想用for循环不断循环一个个遍历这些字符.
有的时候有结果,有的时候只能沉淀

草稿二、尝试分割文本

.9.2
今天研究了一个对文本进行分割的函数

def div_text(start_num, end_num, text_word):
    text_i_save = ""
    for i_t in range(start_num, end_num):
        text_i_save += text_word[i_t]
    print(text_i_save)



div_text(0, 3, genome_text)
div_text(4, 7, genome_text)
div_text(8,11, genome_text)

请添加图片描述

一、利用分割文本得到的结果这里写目录标题


# 这个序列不对.应该遵循的是另一个模式
div_text(0, 3, genome_text)
div_text(4, 7, genome_text)
div_text(8,11, genome_text)


二、遍历了整个字符串的序列

div_text(0, 3, genome_text)
div_text(2, 5, genome_text)
div_text(4, 7, genome_text)
div_text(6, 9, genome_text)
div_text(8, 11, genome_text)
div_text(10, 13, genome_text)

起始到结束间隔3, 两行之前的起始和截止都间隔2.这样的就可以遍历整个字符串

请添加图片描述

三、奇怪的循环遍历了整个字符串的序列

大家看当起始从-2+i的时候结果


for i in range(0, len_num, 2):
    div_text(-2 + i, 1 + i, genome_text)

请添加图片描述

多出了TTT
那我就删除呗,好见证奇怪的时候来了


for i in range(0, len_num, 2):
    div_text(0 + i, 1 + i, genome_text)

请添加图片描述

我们来进行打印分析


for i in range(0, len_num, 2):
    div_text(0 + i, 1 + i, genome_text)
    print("0+i", 0 + i, "1+i", 1 + i)

请添加图片描述

又换成了-2

请添加图片描述

我发现我画蛇添足了.起始位置,直接用i就完事了,成功了.
但是新的问题开始

四、新的问题string index out of range

请添加图片描述

在函数div_text里

 text_i_save += text_word[i_t]

它没事呀.怎么一放到循环里变成了这个怪样子.???

五、字符串索引超出范围这里写目录标题

请添加图片描述

for i in range(0, len_num, 2):
    if i+2 < len_num:
        div_text(i, i + 3, genome_text)

请添加图片描述

五、区分开头ATG的函数里写目录标题

def cut_word_start(judge_word,text_word):
    len_num = len(text_word)
    for i in range(0, len_num, 2):
        if i + 2 < len_num:
            if div_text(i, i + 3, text_word) == judge_word:
                print(text_word[i + 3:])

请添加图片描述

六、9.2 17点前写的代码段,可以截取ATG开头这里写目录标题


genome_text = 'TTATGTTTTAAGGATGGGGCGTTAGTT'
len_num_out = len(genome_text)


def div_text(start_num, end_num, text_word):
    text_i_save = ""
    for i_t in range(start_num, end_num):
        text_i_save += text_word[i_t]
    return text_i_save


def cut_word_start(judge_word, text_word):
    len_num = len(text_word)
    for i in range(0, len_num, 2):
        if i + 2 < len_num:
            if div_text(i, i + 3, text_word) == judge_word:
                return text_word[i + 3:]


def cut_word_end(judge_word, text_word):
    len_num = len(text_word)
    for i in range(0, len_num, 2):
        if i + 2 < len_num:
            if div_text(i, i + 3, text_word) == judge_word:
                print(text_word[:i+3])
                # print(i)
            else:
                print('a',i)

def main():
    a = cut_word_start("ATG", genome_text)
    # print(a)
    cut_word_end("TAA", a)

main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2099147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot链路追踪②:如何集成?

首先下载Zipkin的jar包&#xff1a;Central Repository: io/zipkin/zipkin-server (maven.org) 根据自己的项目版本。我的版本分别是&#xff1a; <spring-boot.version>2.7.18</spring-boot.version> <spring-cloud.version>2021.0.8</spring-cloud.ve…

Spring理论知识(Ⅳ)——Spring Instrumentation模块

Spring的组成 Spring由20个核心依赖组成&#xff0c;这20个核心依赖可以分为6个核心模块 Spring Instrumentation模块介绍 总的来说&#xff0c;Spring Instrumentation提供了类植入&#xff08;Instrumentation&#xff09;支持和类加载器的实现&#xff0c;可以在特定…

解决报错【ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。】

1、问题发生 用pip安装时出现报错【ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: c:\\programdata\\anaconda3\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc Consider using the --user option or check the perm…

多媒体信息共享|基于SprinBoot+vue的多媒体信息共享平台(源码+数据库+文档)

多媒体信息共享平台 目录 基于SprinBootvue的多媒体信息共享平台 一、前言 二、系统设计 三、系统功能设计 系统前台功能模块 后台模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌…

软考计算机软件基础知识总结

目录 前言 计算机软件概述 操作系统 数据库 文件系统 网络协议 中间件 软件构件 应用软件 最后 前言 早期的计算机软件和计算机程序 (Computer Program) 的概念几乎不加区别&#xff0c;后来计算机 软件的概念在计算机程序的基础上得到了延伸。计算机软件是指计算机系…

基于HybridCLR做的一个FlyBird Demo

周末学习了下HybridCLR的原理和用法做了个FlyBrid小demo。记录一下 官网里写的原理&#xff1a; 对于这个我的理解是&#xff1a; Unity引擎的代码使用还是AOT方式。对于项目业务这块打成多个程序集。运行时使用了解释器&#xff0c;解释执行。从而完成热更新。 一。环境安装…

MySQL5.6迁移到DM8

注意&#xff1a; MySQL 5.7 与 MySQL 8.0 的语法有所区别&#xff0c;本文档是将MySQL5.6迁移到DM8。 迁移前准备 源库 数据库信息 统计源端业务库要迁移的数据量、字符编码、归档保留等信息。 内容 说明 备注 数据库架构 单机 节点数 1 数据库版本 MySQL 5.6…

OpenGL/GLUT实践:实现反弹运动的三角形动画与键盘控制(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub&#xff1a;A-UESTCer-s-Code 文章目录 1 运行效果2 实验过程2.1 环境配置2.2 绘制三角形2.2.1 渲染函数2.2.2 主函数2.2.3 运行结果 2.3 调整窗口大小2.4 简单动画与按键控制2.4.1 简单旋转2.4.2 键盘控制 2.5 窗口反弹动画2.5.1 处理窗口大小变化2.5.2 渲染函数…

【Redis】缓存(下)

经过缓存这篇文章的概述&#xff0c;已经对缓存有了初步的了解和认知。在本篇文章中&#xff0c;主要是通过代码来实现缓存的应用&#xff0c;以及在使用缓存过程中出现的经典问题。 简单应用 需求&#xff1a;根据菜品id来查询缓存 流程&#xff1a;① 从缓存中查询&#x…

『功能项目』怪物的信息显示【15】

本章项目成果展示 我们打开上一篇14怪物反击主角复活的项目&#xff0c; 本章要做的事情是当主角进入怪物的攻击范围之内时显示怪物的血量信息 在Canvas创建一个空物体 将空物体GameObject钉到视角上方 重命名为KingInfoUI 在子级创建一个Image 在资源文件夹下创建一个空文件命…

【数据结构 | 每日一题】图的概念辨析

图的概念辨析 考点分析&#xff1a;我们学习数据结构图的第一小节就是&#xff1a;图的基本概念&#xff0c;我们会发现图的概念非常多且有些概念之间又很像&#xff0c;而对于初学者来说&#xff0c;相比树的概念是不好理解的&#xff0c;很容易搞混&#xff0c;因此做了这么…

Tapd敏捷开发平台的使用心得

Tapd敏捷开发平台的使用心得 一、Tapd 简介 TAPD(Tencent Agile Product Development),腾讯敏捷产品研发平台行业领先的敏捷协作方案,贯穿敏捷产品研发生命周期的一站式服务,了解敏捷如下图 二、几个核心模块概念 需求迭代缺陷故事墙前期项目需求的管理,可以按类别建…

如何交叉编译 Linux v4l-utils 依赖库?

本文将以在 Ubuntu 20.04 系统的 x86_64 机器上&#xff0c;为 aarch64 架构的嵌入式机器&#xff0c;交叉编译 v4l-utils&#xff08;libv4l&#xff09;为例&#xff0c;进行介绍。 安装编译 v4l-utils 所需的依赖库。 $ apt update $ apt install make automake libtool安…

【docker】docker 简介

docker 简介 是什么虚拟化、容器化案例为什么要虚拟化、容器化&#xff1f; 是什么虚拟化、容器化 物理机&#xff1a;实际的服务器或者计算机。相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境&#xff0c;有时也称为“寄主”或“宿主”。 虚拟化&…

【时间盒子】-【3.新建项目】创建元服务工程,选择默认模板Empty Ability

一、新建项目 1、打开DevEco Studio >>文件>>新建>>新建项目&#xff0c;选择元服务 Atomic Service>>默认模板Empty Ability。 2、设置元服务的工程名称、Bundle name等&#xff0c;模型选Stage&#xff0c;语言是ArkTS&#xff0c;支持的设备类型只…

异步并发处理利器:在 Jupyter Notebook 中玩转 asyncio

asyncio.run报错 RuntimeError: asyncio.run() cannot be called from a running event loop 在jupyter notebook中运行下述代码就会出现上述报错 import uvicorn from fastapi import FastAPI from fastapi.responses import JSONResponse app FastAPI() app.get(“/”) d…

Openwrt 安装 AX210 无线网卡

安装 TTYD 我安装的是官方原版的 Openwrt&#xff0c;首先需要安装 YYTD 来从网页控制 Openwrt。 安装驱动 参考这个链接&#xff0c;跟着做。 iwlwifi-firmware-ax210 我买设备技术提供代码如下&#xff0c;但是没有安装 成功&#xff0c;中间报错。 opkg update opkg i…

<el-table> 把表格内同一列相同的数据合并为一行

<el-table> 把表格内同一列相同的数据合并为一行 具体效果如下图&#xff1a; 参考代码&#xff08;可直接运行&#xff09;&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"/><meta name"viewport" co…

SpringBoot中基于MongoDB的findAndModify原子操作实现分布式锁原理详解

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

html简单注册页面

简单的html注册页面&#xff0c;代码如下&#xff0c;效果如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…