2016-12-04 76 views
-2

您好,我需要我的代碼幫助。在詢問用戶他們是否想要開始或不開始回答是應該開始5秒倒計時並提出第一個問題我該怎麼做? 最後一件事是當我運行該程序時,即使當我給出正確的答案,那就是它會循環回到你準備好的狀態。在給出正確答案後繼續執行

import random 

import sys 

import os 

print('What is your name?') 

name = raw_input() 

sys.stdin.readline() 

print "Hello!",name 

print('I will be asking a series of true of false uqestions, answer with 
either true or false') 

def introduction(): 

    while True: 

     print('Shall we begin?') 

     ans = raw_input() 

     if ans == 'yes': 

      print('The questions will begin in 5 seconds') 

     else: 

      print('Please return when you are ready') 

introduction() 
+1

請妥善格式化你的代碼。 –

+0

不幸的是我不知道該怎麼做,我沒有足夠的時間抱歉 –

+1

[編輯你的問題](http://stackoverflow.com/posts/40963822/edit),從你的編輯器複製代碼,粘貼它進入問題,選擇代碼塊,並通過按下Ctrl + K(Mac上的Command + K)將其格式化爲代碼。如果你需要我們的幫助,這是絕對必要的,因爲縮進在python中至關重要。 –

回答

0

要做到五個秒鐘倒計時的蟒蛇import time,然後做time.sleep(5) 要問一個問題做question_answer = raw_input("Insert Question 1 here") 後,你說「是」,代碼將打印「的問題將在五秒鐘內開始」和然後將恢復到無限while循環,因爲它是while True:,並且不會結束。如果您希望它結束​​,請執行x = True然後再while x:,這意味着您可以稍後再進行更改。最後,我建議使用ans.lower(),以便輸入「是」也可以。

此外sys.stdin.readline()是冗餘代碼。

+0

@theman - 我敢肯定,這涵蓋了你的問題中的一切 - 任何其他問題? – Matt

0

我想我的其他答案是很清楚的,但是這是從你的問題的代碼是自己所需要的部分加在 - 享受:

import random 

import time 

print('What is your name?') 

name = raw_input() 

print("Hello!",name) 

print('I will be asking a series of true of false questions, answer with 
either true or false') 

def introduction(): 
    x = True 
    while x: 

     print('Shall we begin?') 

     ans = raw_input() 

     if ans.lower() == 'yes': 

      print('The questions will begin in 5 seconds') 
      time.sleep(5) 
      birthday = raw_input("When is your birthday?") 

     else: 

      print('Please return when you are ready') 

introduction()