【问题标题】:Indentation problems 3.7缩进问题 3.7
【发布时间】:2020-02-29 00:58:14
【问题描述】:

这里是代码

def has_stop(dna,frame) :
   stop_codon_found=False
   stop_codons =['tga','tag','taa']
   for i in range(frame,len(dna),3) : 
      codon =dna[i:i+3].lower()
      if codon in stop_codons:
         stop_codon_found=True
         break
   Return stop_codon_found

Python Jupyter notebook 在 RED 中转“break”。为什么?并运行它给出“文件”,第 10 行 返回 stop_codon_found ^ SyntaxError: 无效语法

好吧,如果我将 'break' 向左移动一个空格,让 'break' 中的字母 b 伸出并将 'break' 中的 r 与 'stop_codon_found' 中的 s 对齐,break 变为绿色。它当然说“unindent 不匹配任何外部缩进级别”。如果我向右打一个缩进,“break”也会变成绿色,但它会显示“unexpected indent”

发生了什么事?

【问题讨论】:

  • 听起来你的代码中混合了制表符和空格
  • 谢谢。我确实在两条线上又删除了一个手动空间。现在,当与上面的 stop_code 行对齐时,红灯消失了。好的。但是无效的语法消息是一样的。并且下面的返回仍然没有变绿
  • 文件“”,第 10 行返回 stop_codon_found
  • return 不是Return

标签: python jupyter-notebook indentation definition


【解决方案1】:

试试:

def has_stop(dna,frame) :
   stop_codon_found=False
   stop_codons =['tga','tag','taa']
   for i in range(frame,len(dna),3) : 
      codon =dna[i:i+3].lower()
      if codon in stop_codons:
         stop_codon_found=True
         break
   return stop_codon_found

为了使您的return 包含在函数中,它必须是def ... 下的一个缩进级别。也是return 不是Return

【讨论】:

  • 是返回,不是返回。这样做。谢谢。
猜你喜欢
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 2015-04-02
  • 2013-12-15
  • 2011-02-27
相关资源
最近更新 更多