【问题标题】:How would one go about setting up a score tally for a personality quiz?如何为个性测验设置分数?
【发布时间】:2021-12-12 10:01:14
【问题描述】:

我目前正在尝试使用 python 在 repl.it 中制作审美个性测验类型的东西。我有 4 个不同的变量,它们都从 0 开始,根据用户输入,分数会增加 1。我在将代码添加到所有变量的位置时遇到了一些麻烦。

目前,我可以在其中一个分数上加 1,但其他分数都不能。我想知道我将如何去做这件事?这是我当前的代码:

#aesthetics 
dark = 0
basic = 0
fantasy = 0
academia = 0

#inputs
if input("""
Choose a color scheme!
a  Black, Grey, Purple
b  Blue, Pink, White
c  Green, Grey, Yellow
d  Brown, Red, Orange
>> """) == "a":
  dark += 1
elif input == "b":
  basic += 1

如果我输入“a”并要求它打印dark的值,它将输出“1”。但是,如果我输入“b”并要求它打印基本的值,它将输出“0”。

【问题讨论】:

    标签: python repl.it


    【解决方案1】:

    由于您没有捕获输入,而只是在 if 语句中使用它,所以会发生这种情况。

    对此最简单的解决方法:将输入读入变量(此处为choice),然后将其与可用选项进行比较。

    # aesthetics
    dark = 0
    basic = 0
    fantasy = 0
    academia = 0
    
    choice = input("""
    Choose a color scheme!
    a  Black, Grey, Purple
    b  Blue, Pink, White
    c  Green, Grey, Yellow
    d  Brown, Red, Orange
    >> """)
    
    if choice == "a":
        dark += 1
    elif choice == "b":
        basic += 1
    elif choice == "c":
        # ...
    elif choice == "d":
        # ...
    

    【讨论】:

    • 其实我没想到。非常感谢!
    • 不客气!一个简单的下一个改进可能是将其包装到一个函数中,以便在用户输入无效选择时更容易继续重复询问相同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 2011-03-01
    • 2012-12-04
    • 1970-01-01
    • 2022-07-25
    相关资源
    最近更新 更多