Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 实现硬币计数功能_Python 3.x - Fatal编程技术网

Python 3.x 实现硬币计数功能

Python 3.x 实现硬币计数功能,python-3.x,Python 3.x,我是编程新手,这整件事让我很困惑。我的教授给了我们一个作业,他没有教我们怎么做,也没有在我们的课本上。请帮忙!问题是“给定25美分、10美分、5美分和1美分的数量,实现一个函数来获取手头的总金额” 这是在使用Python3 谢谢 核心数据是两个数组,一个是硬币数量数组,另一个是硬币价值数组。您需要在数组中循环,将一个数组中的值乘以另一个,然后将总数相加 您可以使用循环手动执行此操作(这是一种很好的做法,因为您可以在任何语言中实现此操作),或者在数组长度上对数组a和b使用python“sum”函数

我是编程新手,这整件事让我很困惑。我的教授给了我们一个作业,他没有教我们怎么做,也没有在我们的课本上。请帮忙!问题是“给定25美分、10美分、5美分和1美分的数量,实现一个函数来获取手头的总金额”

这是在使用Python3


谢谢

核心数据是两个数组,一个是硬币数量数组,另一个是硬币价值数组。您需要在数组中循环,将一个数组中的值乘以另一个,然后将总数相加

您可以使用循环手动执行此操作(这是一种很好的做法,因为您可以在任何语言中实现此操作),或者在数组长度上对数组a和b使用python“sum”函数


sum([a[i]*b[i]表示范围内的i(len(b)))

我为您编写代码会对您造成伤害,但这应该有助于您从正确的方向开始。不过我还是建议你先阅读

如本文所述,解决问题的步骤如下:

  • 了解问题-要求您查找或显示什么?你是否理解所有使用的术语/词语?你有足够的信息来解决这个问题吗?你有足够的“背景知识”来解决问题吗

    这一步听起来很明显,但很多人都跳过了。例如,许多在这个网站上提问的人会问“我如何用C#写x?”之类的问题,直到后来经过一些探索后才承认他们实际上不知道C#。那么,在这种情况下,他们显然缺少重要的背景知识,所以他们的第一步是阅读一些关于C#的教程

    在本例中,术语包括“Python”、“Python 3”、“function”以及货币术语,如“Quarter”、“dimes”、“nickels”等。我假设您知道什么是Quarter、dimes等(尽管我猜这可能会因您来自何方而混淆;例如,我不久前读过一篇文章,其中提到了“kopek”我必须查一下才知道这是卢布的1/100)

    那么问题是:你对Python了解吗?如果没有,您可能想阅读一本关于Python的教程(或者,如果他们提供了Python的信息,那么请查看您的课堂讲稿和/或教科书)。你知道Python3和Python2.7有什么不同吗?(提示:有很大的区别)。您熟悉Python函数是什么以及它们是如何编写的吗

    其中一些可能是显而易见的,但你会惊讶于有多少人跳过其中一个步骤。事实上,我以前就做过——开始解决一个问题时,我才意识到我并没有真正完全理解它,或者我不知道其中一个术语的含义。创意顾问托德·亨利(Todd Henry)将未能充分理解问题归因于所有创意领域(不仅仅是软件工程或数学领域)出现“呆板”的主要原因之一

  • 设计一个计划
  • 执行计划
  • 回顾/反思-测试您的解决方案,思考是否有更好的方法来实现它,等等
  • 首先是为了理解问题。先别管编程了——如果我给你一堆零钱,让你“用手”数,你会怎么做?(“你会怎么做”实际上在很多情况下非常有用)。例如,如果我给你5个25美分、3个10美分、2个5美分和3个便士,那是多少钱?想想你可以采用的不同方法:

    • 五个季度=0.25*5=1.25美元
    • 三角硬币=3*0.10=0.30
    • 2个刻痕=2*0.05=0.10
    • 3便士=3*0.01=0.03。 因此,答案是1.25美元+0.30美元+0.10美元+0.03美元。你被要求展示或做的是写一个程序,它会像我刚才“自动”做的那样
    希望这能澄清“理解问题”部分。现在,我将把步骤2-4留给您

    以下是一些您可能需要测试的场景:

    • 每种硬币中的一种或几种
    • 一种硬币中的几种,其余硬币中的任何一种都没有(例如5个25美分硬币和其他硬币或3个10美分硬币和其他硬币)
    • 一个四分之一,三个一角硬币中的一些
    • 硬币数量等于或超过一美元的情况-例如120便士、10美分、4个25美分等。 试着测试不同的“种类”场景以及“边缘案例”。错误更可能出现在有效输入的“边缘”。例如,如果教授说任何硬币都不能超过1美元,那么就用0、1、99、100和101便士进行测试。99和100应该正常工作,应该用101便士“拒绝”或“优雅地失败”

    不清楚您要求我们做什么。如果是为你做作业的话。我们不是家庭作业垃圾处理服务。请尝试去做,展示你的尝试,然后就你面临的问题提问。听起来不错