2013-08-18 50 views
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") 

我已經完成了這個到目前爲止,但我沒有得到正確的分數任何幫助嗎? 我沒有得到關於分數或計數 我只得到「你有任何輸出。 就是這樣我想在python中設置一個分數count 3.3.2

回答

1

你沒有正確使用print()

打印得分爲

print("You got {0}/3 right!".format(count)) 
0
print("You got"), str(count)+"/3 right!" 

是一個元組print("You got")是Python3中的函數調用;它打印到屏幕上,但返回None str(count)+"/3 right!"是一個字符串,兩個表達式之間的逗號m使組合表達式成爲一個元組。您沒有看到第二部分,因爲它從未傳遞給print函數。 Python只是評估表達式,然後讓它進行垃圾回收,因爲它沒有分配給任何東西。

因此以最小的變化解決您的代碼,移動括號,並刪除逗號:

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

building strings with + is not recommended。 Matt Bryant展示了首選的方式。或者,因爲你使用的是Python版本大於2.6,則可以縮短凌晨一點:

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

{}得到由count取代。有關更多信息,請參閱The Format String Syntax


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

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)) 

較少的函數調用使得它更快,更可讀並且需要更少的打字。

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') 
相關問題