【问题标题】:Assigning variables from inputs in FOR loop in python从python中的FOR循环中的输入分配变量
【发布时间】:2014-07-03 23:22:25
【问题描述】:

对于我的大学 Python 课程,我有一个作业要求:

创建一个让用户输入硬币数量的找零游戏 有必要赚两美元。设计一个算法,用 伪代码,然后用它来实现一个提示用户的Python程序 输入 5c 硬币、10c 硬币、20c 硬币、50c 硬币、1 美元硬币和 2美元硬币。如果输入的这些硬币的总价值等于两美元, 那么程序应该祝贺用户赢得比赛。否则 程序应显示一条消息,提示总数不完全 两美元,并显示高于或低于两美元的价值。

我了解如何实现该程序,但我无法在不重复的情况下将变量应用于用户输入。

我想像这样使用 FOR 循环:

def main():
    for coin in ['5c','10c','20c','50c','$1','$2']:
        int(input("Enter the number of " + coin + " coins you wish use: "))


#Call the main function
 main()

但是如何在每次循环时为每个用户输入分配一个新变量?

【问题讨论】:

  • 为此使用列表。 a = [] a.append()
  • 使用字典代替,因为硬币是字符串
  • 您还可以展示您的伪代码并询问如何将其映射到 Python 中,以获得更好、更中肯的问题。
  • 也把你的python次要版本作为标签,或者至少Python 2.xPython 3.x

标签: python python-3.x


【解决方案1】:
def main():
    coins = {}
    for kind in ['5c','10c','20c','50c','$1','$2']:
        coins[kind] = int(raw_input("Enter the number of " + kind \
                                 + " coins you wish use: ").strip() or 0)

【讨论】:

    【解决方案2】:

    最好是列表或字典。

    inputFor= {}
    for coin in ['5c','10c','20c','50c','$1','$2']:
        inputFor[coin]= int(input("Enter the number of " + coin + " coins you wish use: "))
    

    在前面的例子中,字典。然后您可以通过以下方式检索用户答案:

    ... inputFor['5c'] ...
    ... inputFor['10c'] ...
    ... inputFor['20c'] ...
    ... inputFor['50c'] ...
    ... inputFor['$1'] ...
    ... inputFor['$2'] ...
    

    圆点代表您想要使用答案的上下文(公式、显示等)。

    【讨论】:

    • 在python中有数组和映射,但它们的含义不同。您正在使用的这些称为列表和字典。
    • @Antti Haapala 谢谢。已应用更正。
    猜你喜欢
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    相关资源
    最近更新 更多