【问题标题】:Python 2.7 Coin Flip Program Crashes Every TimePython 2.7 硬币翻转程序每次都崩溃
【发布时间】:2014-12-09 05:57:37
【问题描述】:

我在一个简单的硬币翻转程序中遇到了这个奇怪的问题,当我运行此代码时,它并没有给我某种错误,而是发生了某种崩溃。我输入是或否的答案,然后按回车,但它什么也没做。然后我再次按回车,它完全关闭了。

import time
import random

constant = 1
FirstRun = True

def Intro():
    raw_input("Hello and welcome to the coin flip game. Do you wish to flip a coin? (yes or no): ")


def CoinToss():
    print "You flip the coin"
    time.sleep(1)
    print "and the result is..."
    time.sleep(1)
    result = random.randint(1,2)
    if result == 1:
        print "heads"
    if result == 2:
        print "tails"


while constant == 1:
    if FirstRun == True:
        Intro()
        FirstRun = False

    else:
        answer = raw_input()
        if answer == "yes":
            CoinToss()
            raw_input("Do you want to flip again? (yes or no): ")
        else:
            exit()

【问题讨论】:

    标签: python-2.7 coin-flipping


    【解决方案1】:

    由于您只是忽略了raw_input 方法的返回值,因此您不知道用户输入了什么以跳出循环。

    这是您程序的简化版本,请注意我如何将 raw_input 方法的结果存储在 result 中并使用它来控制执行循环:

    import random
    import time
    
    result = raw_input('Hello and welcome to the coin flip game. Do you wish to flip a coin? (yes or no): ')
    
    while result != 'no':
        print('You flip the coin....')
        time.sleep(1)
        print('...and the result is...')
        toss_result = random.randint(1,2)
        if toss_result == 1:
            print('Heads')
        else:
            print('Tails')
    
        result = raw_input('Do you want to flip again? (yes or no): ')
    
    print('Goodbye!')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多