微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您好,我对这段代码感到困惑,因为纯粹从技术角度来看它应该可以工作

如何解决您好,我对这段代码感到困惑,因为纯粹从技术角度来看它应该可以工作

这应该采用三个 int 值,并为您提供最低数量

//stripe checkout
exports.createCheckoutSession = functions.https.onCall(async (req,res) => {
    const {
      priceId
    } = req.body;

    // See https://stripe.com/docs/api/checkout/sessions/create
    // for additional parameters to pass.
    try {
      const session = await stripe.checkout.sessions.create({
        mode: "subscription",payment_method_types: ["card"],line_items: [{
          price: priceId,// For metered billing,do not pass quantity
          quantity: 1,},],// {CHECKOUT_SESSION_ID} is a string literal; do not change it!
        // the actual Session ID is returned in the query parameter when your customer
        // is redirected to the success page.
        success_url: 'https://example.com/success.html?session_id={CHECKOUT_SESSION_ID}',cancel_url: 'https://example.com/canceled.html',});
        res.send({
          sessionId: session.id,});
    } catch (e) {
      res.status(400);
      return res.send({
        error: {
          message: e.message,}
      });
    }
})

我知道它很乱而且有点难以阅读,但我的意思是当我输入 7 15 3 之类的东西时,它总是输出 15。为什么?

解决方法

我重现了 papke 的结果:在 elif 行的末尾添加一个冒号修复了语法错误并产生了您预期的输出。

利用内置的 min 函数,您可以按照以下方式重构您的代码:

num1 = int(input())
num2 = int(input())
num3 = int(input())

print(min([num1,num2,num3]))
,

您在 elif 后遗漏了一个冒号。代码给出了预期的答案:

num1 = int(input("Enter: "))
num2 = int(input("Enter: "))
num3 = int(input("Enter: "))

if (num1 < num2) and (num1 < num3):
    print(num1)
elif num2 < num3:
     print(num2)
else:
    print(num3)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。