如何在Python中获得两个输入变量之间的差异

2024-09-27 21:32:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在用Python编写一个程序。我有点小毛病。我想做的很简单。计算用户输入到程序中的两个数字之间的差。在

nameA = input("Enter your first German warriors name: ")

print( nameA,"the noble.")

print("What shall",nameA,"the noble strength be?") 

strengthA = input("Choose a number between 0-100:")

print("What shall",nameA,"the noble skill be?") 

skillA = input("Choose a number between 0-100:")

#Playerb

nameB = input("Enter your first German warriors name: ")

print( nameB,"the brave.")

print("What shall",nameB,"the noble strength be?") 

strengthB = input("Choose a number between 0-100:")

print("What shall",nameB,"the brave skill be?") 

skillB = input("Choose a number between 0-100:")

我试图计算用户输入的StrengthA和StrengthB之间的差异。在

这个问题可能有点不对劲。但是,我们都要学习。 谢谢。在


Tags: the用户程序numberinputbebetweenwhat
2条回答

只需使用-运算符,然后找到该运算符的abs()来得到两个数字之间的差。在

abs(StrengthA - StrengthB)

但是,您必须首先确保使用的是整数。通过以下方式实现:

^{pr2}$

编辑:

要想把总体除以5,你只需:

(abs(StrengthA - StrengthB)) / 5

代码结构对于使程序更易于理解和维护非常有用:

def get_int(prompt, lo=None, hi=None):
    while True:
        try:
            value = int(input(prompt))
            if (lo is None or lo <= value) and (hi is None or value <= hi):
                return value
        except ValueError:
            pass

def get_name(prompt):
    while True:
        name = input(prompt).strip()
        if name:
            return name.title()

class Warrior:
    def __init__(self):
        self.name     = get_name("Enter warrior's name: ")
        self.strength = get_int("Enter {}'s strength [0-100]: ".format(self.name), 0, 100)
        self.skill    = get_int("Enter {}'s skill [0-100]: "   .format(self.name), 0, 100)

def main():
    wa = Warrior()
    wb = Warrior()

    str_mod = abs(wa.strength - wb.strength) // 5

if __name__=="__main__":
    main()

相关问题 更多 >

    热门问题