【问题标题】:Why does my python code run perfectly fine on runestone but not on vscode?为什么我的 python 代码在 runestone 上运行得非常好,但在 vscode 上却不行?
【发布时间】:2022-10-26 00:04:25
【问题描述】:
def CreditPay(rate, payment, verbose):
    balance = 1000 # Amount currently owed
    month = 1  #Number of months
    paid = 0    # Amount paid so far

    while balance > payment:
        balance = balance + balance*rate/100 - payment
        paid += payment
        if verbose:
            print(f'Balance after month {month} is $ {balance}.')

        month += 1
    print(f"Final payment is $ {balance}")
    print(f'Final amount paid is $ {balance+paid}')
        
    return month

nmonths = CreditPay(2.5,100,False)
print("Number of months to pay off is", nmonths)

nmonths = CreditPay(2.5,100,True)
print("Number of months to pay off is", nmonths)

                                                   ^

SyntaxError:无效的语法 martin@Martins-Air ~ % python -u "/Users/martin/Downloads/assignment7" 文件“/Users/martin/Downloads/assignment7”,第 19 行 print(f'第 {month} 个月后的余额为 $ {balance}。') ^

【问题讨论】:

  • 欢迎来到堆栈溢出。请不要将代码作为图像发布。相反,请将您的代码复制/粘贴到您的问题中,并通过编辑器工具栏上的{} 工具对其进行正确格式化。尽可能以文本形式发布结果和错误消息。
  • 我的猜测是您在 VSCode 中运行时使用的是旧版本的 Python,它不支持 f 字符串。此功能是在 Python 3.6 中添加的。检查您是否使用比出现错误时更早版本的 Python 运行。如果是这样,升级您的 Python 版本将解决问题。要在不更改 Python 版本的情况下测试此假设,请将代码更改为不使用 f-string 功能,然后查看它是否运行正常。
  • @Carcigenicate - 当然。胖手指移动:)
  • @CryptoFool 谢谢,它定义的 f 字符串不起作用。我刚刚将我的解释器更改为 python 3.8.2,但它仍然无法正常工作。我该如何解决?

标签: python syntax syntax-error


【解决方案1】:

我的问题是我下载了代码运行器扩展。我不得不去它的设置.json并将python -u 更改为python3 -u。谢谢您的帮助。编程还是新手。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

你用的是什么python解释器? f-string 在 python3 中被引入。 要使用 Vscode 选择您的 python 解释器,请打开命令行窗口 ctrl+shift+p 或 macos cmd+shift+p,然后搜索“python解释器”。 完整的命令应该是这样的

>Python: Select Interpreter and then simply click on any Python 3.x.x

希望这可以帮助!

【讨论】:

  • 谢谢,它绝对是 f 字符串,但即使我将解释器更改为 3.8.2,它仍然不会运行它。我多次重新启动 vscode 并确保在运行我的代码之前检查版本。
猜你喜欢
  • 1970-01-01
  • 2021-04-16
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多