【发布时间】:2014-02-11 21:15:20
【问题描述】:
我正在编写代码,我必须输入战士和敌人的力量和技能。是否有任何有效的方法来编写必须以相同方式工作的程序,例如检查每个输入不是.isdigit 或超过1,000,000 时,它会再次要求输入。
import random
import math
enemy_name="fierce dragon"
global enemy_name
fighter_name="undefeatable worrior"
def again_fighter_strength():
global fighter_strength
fighter_strength=raw_input("Please enter the strength of "+fighter_name+"(must 1M or below):")
if fighter_strength.isdigit():
fighter_strength=int(fighter_strength)
if fighter_strength < 1000001:
again_fighter_skill()
else:
print "Fighter strength must 1M or below"
again_fighter_strength()
else:
print "Fighter strength must be a whole number."
again_fighter_strength()
def again_fighter_skill():
global fighter_skill
fighter_skill=raw_input("Please enter the skill of your character(must 1M or below):")
if fighter_skill.isdigit():
fighter_skill=int(fighter_skill)
if fighter_skill < 1000001:
print""
again_enemy_strength()
else:
print "Fighter Skill must 1M or below."
again_fighter_skill()
else:
print "Fighter skill must be a whole number"
again_fighter_skill()
def again_enemy_strength():
global enemy_strength
enemy_strength=raw_input("Please enter the strength of the "+enemy_name+"(must 1M or below):")
if enemy_strength.isdigit():
enemy_strength=int(enemy_strength)
if enemy_strength < 1000001:
again_enemy_skill()
else:
print enemy_name,"Enemy strength must 1M or below."
again_enemy_strength()
else:
print "Enemy strength must be a whole number"
again_enemy_strength()
def again_enemy_skill():
global enemy_skill
enemy_skill=raw_input("Please enter the skill of the "+enemy_name+"(must 1M or below):")
if enemy_skill.isdigit():
enemy_skill=int(enemy_skill)
if enemy_skill < 1000001:
print "your good to go"
else:
print enemy_name,"Fighter skill must be a whole number"
again_enemy_skill()
else:
print "Fighter Skill must 1M or below"
again_enemy_skill()
again_fighter_strength()
【问题讨论】:
-
是的,有可能。您可以在函数中执行此操作。
-
Write a function for python 的可能重复项
标签: python validation python-2.7 input