首页 > 解决方案 > 为什么它不会再次打印问题?(Python)

问题描述

import random

def headsortails():
  random_side = random.randint (0,1)
  if random_side == (0):
   print("Heads")
  else:
    print("Tails") 

answer_yes = "Yes" .lower()
answer_no = "No" .lower() 


heads_or_tails = input("\n\nLets do 'Heads or tails'. I got a binary coin right here \n\nHeads = 0\nTails = 1\n\n[Press Enter]")

tosscoin = input("\nTo toss coin and choice type 0 or 1: ")
tosscoin = "0", "1"


print("Revealing coin... *rolling drums*\n") 

(headsortails())

again = input("\nDo you want to play again? [Enter Yes/No]) ") 
if again == (answer_yes):
  print (heads_or_tails)

我已经定义了 head_or_tails 但在我回答是后它不会打印出来。另外,有没有办法编写一个可以与新打印相结合的字符串?

标签: pythonpython-3.x

解决方案


input(prompt_string)存储您在打印提示后输入的值。当您heads_or_tails在最后一行打印时,您并没有要求另一个提示,而是您将打印您存储在heads_or_tails. 您可以使用 while 循环使其工作,如下所示:

import random

def headsortails():
    random_side = random.randint (0,1)
    if random_side == (0):
        print("Heads")
    else:
        print("Tails") 

while True:
    answer_yes = "Yes" .lower()
    answer_no = "No" .lower() 
    heads_or_tails = input("\n\nLets do 'Heads or tails'. I got a binary coin right here \n\nHeads = 0\nTails = 1\n\n[Press Enter]")

    tosscoin = input("\nTo toss coin and choice type 0 or 1: ")
    tosscoin = "0", "1"


    print("Revealing coin... *rolling drums*\n") 

    headsortails()

    again = input("\nDo you want to play again? [Enter Yes/No]) ") 
    if again == (answer_no):
        break

推荐阅读