0
 **count = 0**
 player = input("Player Name: ")
 print("WELCOME TO MY QUIZ %s" % player, )
 print("Would You like to play the quiz ??")
 start = input()
 if start == "Yes" or start == "yes":
    print("Lets Start %s" % player, )
    print("Q1. What is the capital of India ?")
    print("A. Delhi")
    print("B. Mumbai")
    q1 = input()
    if q1 == "A":
         **count += 1**
    else:
         print("")
    print("Q2. How many states are there in India ?")
    print("A. 28")
    print("B. 29")
    q2 = input()
    if q2 == "B":
         count += 1
    else:
         print("")
    print("Q3. What is the capital of Maharashtra ?")
    print("A. Delhi")
    print("B. Mumbai")
    q3 = input()
    if q3 == "B":
        count += 1
    else:
        print("")
    ***print("You got"),str(count)+"/3 right!"***
else:
    print("Thank You, Goodbye")

到目前为止我已经这样做了,但我没有得到正确的分数有什么帮助吗?我没有得到任何关于分数或计数的输出我只得到“你得到了:就是这样

4

3 回答 3

1

你没有print()正确使用。

打印分数

print("You got {0}/3 right!".format(count))
于 2013-08-18T19:24:15.383 回答
0
print("You got"), str(count)+"/3 right!"

是一个元组。print("You got")是 Python3 中的函数调用;它打印到屏幕上但返回无。str(count)+"/3 right!"是一个字符串。两个表达式之间的逗号使组合表达式成为一个元组。您看不到第二部分,因为它从未传递给print函数。Python 只是对表达式求值,然后将其留给垃圾收集,因为它没有分配给任何东西。

因此,要以最少的更改来修复您的代码,请移动括号并删除逗号:

print("You got" + str(count) + "/3 right!")

不推荐使用构建字符串+。马特布莱恩特展示了首选方式。或者,由于您使用的是大于 2.6 的 Python 版本,您可以稍微缩短一点:

print("You got {}/3 right!".format(count))

{}替换count。有关详细信息,请参阅格式字符串语法


此外,而不是多次调用打印:

print("Lets Start %s" % player, )
print("Q1. What is the capital of India ?")
print("A. Delhi")
print("B. Mumbai")

您可以打印单个多行字符串:

print("""Lets Start {}
Q1. What is the capital of India ?
A. Delhi
B. Mumbai""".format(player))

更少的函数调用使它更快,并且它更具可读性并且需要更少的输入。

于 2013-08-18T19:32:58.373 回答
0

我认为你这样做。(没有把握)

score = 0
ans = input('What is 2+2')
if ans == '4':
    print('Good')
    score = +1
else:
    print('Wrong')
    score = +0

要显示分数,请执行此操作

print(score, 'Out Of 1')
于 2015-05-11T13:11:31.143 回答