首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按倍数递增?;“什么都不做”;创建一个类似于除法或除法的算法。

按倍数递增?;“什么都不做”;创建一个类似于除法或除法的算法。
EN

Stack Overflow用户
提问于 2016-01-08 19:12:18
回答 1查看 56关注 0票数 0

还在处理啤酒问题。重新开始。我不想买半瓶啤酒,所以我就从这里开始:

代码语言:javascript
复制
#import math

def buybeers(wallet):
    beers = 0
    for(int in xrange(0,wallet,2)) #xrange not defined
        beers += 1
        wallet -= 2
    return beers, wallet

wallet = int(input("How many wallet do you have?"))

print(buybeers(wallet))

我想弄清楚怎么买一瓶啤酒,永远是2美元,然后把奇怪的钱还回去。

第二次尝试,试图查找逻辑错误:

代码语言:javascript
复制
def buybeers(wallet):
    beers = 0
    for i in range(1,wallet,3):
        beers += 1
        wallet -= 3
    return beers, wallet

wallet = int(input("How many wallet do you have?"))

print(buybeers(wallet))

当我有14美元的时候,问题就来了。最后我得到了-1美元和5瓶啤酒(一瓶我不该喝的啤酒,还有一美元)。虽然这是正确的,但一些便利店不接受标签。

最后提交(啤酒花费3美元)

代码语言:javascript
复制
def buybeers(wallet):
    beers = 0
    for i in range(1,wallet,3):
        if wallet >= 3:  #if you got enough for a beer, buy one.
            beers += 1
            wallet -= 3
    #else:
    #    pass #otherwise, "do nothing"/pass (it seems this is automated).
    return beers, wallet

wallet = int(input("How many wallet do you have?"))

print(buybeers(wallet))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-08 19:21:29

你有一些遗漏的括号,你的逻辑是错误的。假设您有$5,每种啤酒都要花费$2,那么您可以拥有2啤酒,并保留$1,但是,您的代码将给您3啤酒,现在您还欠下了另一美元。您可以通过使用如下的除法和模数来简化这一点

代码语言:javascript
复制
def buybeers(wallet):
    beers = wallet//2
    wallet = wallet % 2

    return beers, wallet

wallet = int(input("How many wallet do you have?"))

print(buybeers(wallet)) #5 as input

(2, 1)

只是修复你得到的语法错误

代码语言:javascript
复制
def buybeers(wallet):
    beers = 0
    for i in xrange(0,wallet,2):
        beers += 1
        wallet -= 2
    return beers, wallet

wallet = int(input("How many wallet do you have?"))

print(buybeers(wallet)) #5 as input

(3, -1)

这不会为您提供正确的输出,因为您的for循环逻辑已关闭。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34684356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档