如何循环整个程序?

时间:2016-12-14 19:50:55

标签: python

如何让我的代码回到第五行并向玩家询问另一个角​​色?我需要让玩家能够输入任意数量的角色。

  from __future__ import division #This imports the division module which allows the program to generate decimals
from random import randint  # This imports the random integer module which allows the program to randomly generate integers


character = raw_input(str("Pick a character: martian,plutonian,human or dog\n>>"))   # This asks the player what character they would like to play
strength = randint(3, 20)  # This sets the range for the strength variable
speed = randint(3, 20)  # This sets the range for the speed variable
height = randint(120, 183)/100   # This sets the range for the height variable (the variables are 100x the amount that the task states) it then divides the value by 100
#  The reason as to why the height value is 100x what it is meant to be is because the height is a decimal and the randint function only works with real numbers
heart_rate = randint(60, 110)  # This sets the range for the heart rate variable


if character=="martian":  # This makes the following only occur if the player inputs "martian"
    strength += 3  #This adds 3 to the value of strength
    speed +=2 #This adds 2 to the value of speed
if character =="plutonian":  #This makes the following only occur if the player inputs "plutonian"
    heart_rate+=7 #This adds 7 to the value of heart rate
    height+=1 #This adds 1 to the value of height
if character=="human": #This makes the following only occur if the player inputs "human"
    heart_rate+=3 #This adds 3 to the heart rate value
if character=="dog": #This makes the following only occur if the player inputs dog
    height-=3 #This takes 3 away from the height value


print "Your strength is", strength  # This prints the strength of the character
print "Your speed is", speed  # This prints the speed of the character
print "Your heart rate is", heart_rate  # This prints the heart rate of the character
print "Your height is", height  # This prints the height of the character


file_txt=open('Character Statistics.txt', 'a',) #This creates and names the text file
file_txt.write(str("Character Statistics:\n")) #This makes a title within the text document
file_txt.write("Your strength is: ") #This prints text into the text file
file_txt.write(str(strength)+"\n") #This adds the strength value to the txt file
file_txt.write("Your speed is: ") #This prints text into the text file
file_txt.write(str(speed)+"\n") #This adds the speed value to the txt file
file_txt.write("Your heart rate is: ")  #This prints text into the text file
file_txt.write(str(heart_rate)+"\n") #This adds the heart rate value to the txt file
file_txt.write("Your height is is: ") #This prints text into the text file
file_txt.write(str(height)+"\n") #This adds the height value to the txt file

1 个答案:

答案 0 :(得分:0)

使用while循环:

character_list = ['martian', 'plutonian', 'human', 'dog']
while True:
    character = raw_input("Pick a character: %s\n>>" % ', '.join(character_list))
    if character not in character_list:
        # The user is done
        break

如果用户输入了无效字符,则假设它们已完成并且已退出循环。将其余的字符生成代码放在if节之后。