python运行出现SyntaxError: 'return' outside function的原因和解决办法

Python 中 SyntaxError: ‘yield‘ outside function 错误 当我们在函数外部使用yield关键字时,会出现 Python “SyntaxError: ‘yield’ outside function”。要解决该错误,如果我们需要对每个元素执行一些运算符,请使用列表理解,或者缩进函数内部使用yield的代码。 阅读详情
AI摘要

在尝试编写斐波那契数列的代码时遇到问题,错误提示为'SyntaxError: 'return' outside function'。错误原因在于'return'关键字只能在函数内部使用,而在循环或其他非函数环境中使用是不正确的。解决方案是根据Python语法调整代码,避免在函数外部使用'return'。修改后的代码能够成功编译并运行。

在写斐波那契数列代码时,编程思路是:如果正确打印了斐波那契数列,就返回0结束程序;如果输入有错,就继续重复执行输入,直到正确为止。

fibo = [0,1]

while True:
    try:
        times = int(input("请输入斐波那契数列的长度:"))
        if times == 1:
            print(fibo[0:1])
            return 0
        elif times >= 2:
            for ii in range(2,times):
                fibo.append(fibo[ii-2]+fibo[ii-1])
            print(fibo)
            return 0
        
    except ValueError:
        continue

但是,在编译的时候报错SyntaxError: 'return' outside function:

  File "C:/Users/xiaokai/Documents/GitHub/leetcode-sorting/Solutions/debug.py", line 8
    return 0
    ^
SyntaxError: 'return' outside function

Process finished with exit code 1

原因是return关键字只能在def自定义函数里面使用,在while循环中只能使用break关键字来结束循环!这里没有自定义函数,所以不能出现return这样的关键字!

参考:Python return statement error " ‘return’ outside function" - Stack Overflow

所以把return 0全部改为break,修改之后程序如下:

fibo = [0,1]

while True:
    try:
        times = int(input("请输入斐波那契数列的长度:"))
        if times == 1:
            print(fibo[0:1])
            # return 0
            break
        elif times >= 2:
            for ii in range(2,times):
                fibo.append(fibo[ii-2]+fibo[ii-1])
            print(fibo)
            # return 0
            break
    except ValueError:
        continue

编译成功,运行效果:

请输入斐波那契数列的长度:abcd
请输入斐波那契数列的长度:-9
请输入斐波那契数列的长度:10
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Process finished with exit code 0

Python语法错误:SyntaxError: 'return' outside function 这种语法错误般出现在return没有在函数内部写,而写在了函数外部或者没有定义函数的时候使用了,这种就会报错。 阅读详情

相关推荐

SyntaxError: ‘return’ outside function 在python里面的报错问题

Return需要放在函数里面 报错情况: 报错代码: #coding=utf-8 def find_friend(type, height, sex): :param type: 0示周杰伦 1表示彭于晏 2表示霍建华 :param height: 他的身高是多少 :param sex: 性别 :return: 返回值 if type == 0: print(你的朋友是周杰伦,他的身高是:, height, 性别是:, sex) return True elif(type == 1): print

‘return‘ outside function 解决方法(Python)

在使用Python过程中出现问题:SyntaxError: ‘return’ outside function 原因可能有:代码缩进有问题或者忘记定义方法,导致return语句没包含在方法中 例如:你要定义如下函数: def func(num): for num in range(1,10): if num==5: print("I find '5'") return func(5) 错误一:如果你忘记写def func(num):如

LK156的博客 7万+

开源项目 ruoyi-sso-oauth2(一)环境配置

Ruoyi若依实现单点登录SSO、oauth2认证

Xiaoweidumpb 9683

syntaxerror: 'return' outside function 解决办法

出现syntaxerror: 'return' outside function是由于python对格式要求严格的原因,多半问题是由于格式对齐导致的 根据报错提示到相应的.py文件的相应行修改缩进,只需要保持缩进为1或着2个tab即可,修改后保存.py文件后再次运行,直到不再报错即可 问题解决!

xb627586640的博客 9万+

AXI4-Stream FIFO IP核实战指南——从配置到跨时钟域处理

本文是AXI4-Stream FIFO IP核的实战指南,详细讲解了其作为数据流缓冲核心的作用。文章重点涵盖从Vivado环境下的IP核配置、关键参数(如深度与宽度)设定,到跨时钟域处理的完整流程。深入解析了TVALID/TREADY握手协议及TLAST等信号,并提供了常见问题排查与调试技巧,帮助开发者高效实现FPGA/SoC系统中可靠的数据流缓冲与同步。

weixin_29251567的博客 480

Python自动化监控:实时捕捉LOF基金溢价套利机会并微信预警

本文详细介绍了如何使用Python构建一个自动化监控系统,实时捕捉LOF基金的溢价套利机会。通过AKShare获取基金数据,结合雪球API计算实时溢价率,并利用企业微信API实现微信推送预警,帮助投资者高效、自动地发现并抓住转瞬即逝的套利机会。

weixin_28327051的博客 523

SyntaxError: 'return' outside function 解决办法

问题描述 SyntaxError: ‘return’ outside function 直接翻译是 return 这个关键字在函数的外面 解决方法 根据报错,我们知道return是不可以写在函数的外面的,和有些解答中说的python格式严格,没对齐空格什么的完全没有关系,只需要检查return是否写在了函数的外面即可。 PEACE~~ ...

谷子的五福一安 1万+

[后端设计]innovus命令editPin详解?

先放命令,有空慢慢写。

m0_61003348的博客 5731

SyntaxError: 'return' outside function 问题求助

while search_deque: person = search_deque.popleft() if person not in searched: if person_is_seller(person): print(person + " is a mango seller!") return True ...

weixin_42577493的博客 5956

新手必看:CiscoPacket Tracer从零搭建局域网(含ARP协议详解)

本文为网络新手提供了一份使用Cisco Packet Tracer从零搭建局域网的详细指南。通过构建基础网络拓扑、配置IP地址,并深入剖析ARP协议的工作原理,帮助读者理解IP地址与MAC地址的映射关系,掌握局域网通信的核心机制。

weixin_29275257的博客 204

BCIC IV 2a数据集:从下载到实战应用全解析

本文全面解析了BCI Competition IV 2a(BCIC IV 2a)数据集的应用流程。从官方渠道下载数据、解析其结构,到在MATLAB和Python环境中进行数据导入、预处理(包括处理特殊受试者A04T),并详细演示了从特征提取(如CSP)到分类(如LDA、SVM)的完整实战步骤,为脑机接口研究者提供了从入门到实践的清晰指南。

weixin_28235513的博客 974

python -- SyntaxError :'return' outside function

在for循环里面return想要跳出全部循环时,会报SyntaxError: 'return' outside function,也就是语法错误。 for x in range(3): print(x) for c in ['a', 'b', 'c']: print(c) if c == 'b': return [] # ...

w_xiaowen的博客 1731

《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...

《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...

「汽车电子助手」的博客 1万+

Python报错SyntaxError :'return' outside function

在for循环里面return想要跳出全部循环时,会报语法错误SyntaxError: 'return' outside function 原因是return只能写在def函数里面 # 没有def函数使用return,会报错 for x in range(3): print(x) for c in ['a', 'b', 'c']: print(c) ...

给我一点温度 1万+

SAP-ABAP: BP主数据完全指南:从基础到高阶应用

SAP-ABAP: BP主数据完全指南:从基础到高阶应用

baidu_35680696的博客 1647

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SyntaxError: 'return' outside function

SyntaxError: 'return' outside function 一般是由于缩进不对引起的,比如tab 和空格混合使用.........

zhanyingle_1981的专栏 798

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SyntaxError: 'return' outside function 语法报错

贴出代码 for cc in range(1,11): if cc%2==0: LL.append(cc*cc) return LL 报错`SyntaxError: ‘return’ outside function 仔细查找后 在https://docs.python.org/3/ 官方文档中说明 The key word “return” which sh...

linxun10000的博客 5191

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

求助:python中报SyntaxError: 'return' outside function的错误。

在练习python的代码中报了代码如下:我试了改缩进但是没用。还是报错。求大神指点

ternencefan的博客 1万+

SyntaxError: ‘await‘ outside async function的原因与解决

我们看下面这个代码,表面上没什么问题 import asyncio async def do1(): await asyncio.sleep(2) print('两秒过去了') async def do2(): await asyncio.sleep(2) print('两秒又过去了') async def do3(): await asyncio.sleep(4) print('四秒过去了') await do1() await do2() awai

Huamang的博客 2万+

Python定义函数报错 return outside function

在Python中定义函数时报错SyntaxError: 'return' outside function >>> def testPass(cryptPass): ... salt = cryp...

cuantangnie3915的博客 4663

SyntaxError: ‘return‘ outside function 在python里面的报错问题

Return需要放在函数里面 报错情况: 报错代码: #coding=utf-8 def find_friend(type, height, sex): """ :param type: 0示周杰伦 1表示彭于晏 2表示霍建华 :param height: 他的身高是多少 :param sex: 性别 :return: 返回值 """ if ty...

宝藏女孩的成长日记 2330

python中outside function_运行提示SyntaxError: 'yield' outside function

该楼层疑似违规已被系统折叠隐藏此楼查看此楼# -*- coding: utf-8 -*-from typing import Any, Unionimport scrapyfrom scrapy import Itemfrom urllib3.util import responseclass StockSpider(scrapy.Spider):name = 'stock'allowed_do...

weixin_39717367的博客 903

SyntaxError: ‘await‘ outside function, 一个很简单的问题,但网上却很少有答案。

SyntaxError: 'await' outside function

bugtraq的博客 1万+
上一篇: python实现斐波那契数列
下一篇: python寻找1000以内的阿姆斯特朗数
刘凯KAI
博客等级 码龄15年 663粉丝 128原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值