【问题标题】:How do I only print out the value of coins that are not zero?我如何只打印非零硬币的价值?
【发布时间】:2015-10-15 06:54:30
【问题描述】:

现在,如果没有硬币或便士,我的代码会打印出“0 dimes”或“0 pennies”,我需要知道如何制作它,以便如果特定硬币为 0,则不会打印任何内容为了那枚硬币。

  #Asks user how much change they are trying to give, returns the coins to make that change

  coin = int(input("How much change are you tring to give (in cents)? "))


  while coin >= 25: 

      quarters = coin // 25
      coin = coin % 25

      if coin >= 10:
          dimes = coin // 10
          coin = coin % 10

      if coin >= 5:
          nickels = coin // 5
          coin = coin % 5

      pennies = coin // 1
      coin %= 1

      print ("You have ",quarters,"quarters", dimes, "dimes,",nickels,"nickels and ",pennies,"pennies.")

例如,如果找零是 1 个季度和 2 个镍币,它将打印:(您有 1 个季度,0 个硬币,2 个镍币和 0 个便士)

我需要它来打印(你有 1 个四分之一硬币和 2 个镍币)

【问题讨论】:

  • 检查if whatever != 0:(或只是if whatever:然后打印?
  • @jonrsharpe,为了防止多个打印语句创建多行,您可以 print('whatever', end="")

标签: python python-3.x if-statement while-loop printf


【解决方案1】:

这里的字符串连接是你的朋友!不要有一个非常大的打印声明,而是尝试这样的事情:

print_str = ''
if quarters > 0:
    print_str += 'You have ' + str(quarters) + ' quarters.'

然后,最后,打印你的 print_str。

请注意,您可能希望在字符串中包含换行符。 -- 我建议在这里阅读字符串:http://www.tutorialspoint.com/python/python_strings.htm

【讨论】:

  • print_str = 'You have ' 在 if 之外,否则如果没有宿舍,它不会打印“你有”
【解决方案2】:

让我们将硬币检查到您当前的代码中,并在我们进行时构建输出字符串。请注意,我们永远不会给多个五分钱。

# Asks user how much change they are trying to give, returns the coins to make that change

coin = int(input("How much change are you trying to give (in cents)? "))
change = ""

while coin >= 25:

    quarters = coin // 25
    coin = coin % 25
    if quarters > 0:
        change += str(quarters) + " quarters "

    if coin >= 10:
        dimes = coin // 10
        coin = coin % 10
        change += str(dimes) + " dimes "

    if coin >= 5:
        nickels = coin // 5
        coin = coin % 5
        change += str(nickels) + " nickel "

    pennies = coin // 1
    coin %= 1
    if pennies > 0:
        change += str(pennies) + " pennies "

    print (change)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多