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

如何在Python中获得两个输入变量之间的差异,python,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:")

我目前正在用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之间的差异

这个问题可能有点愚蠢。但是,我们都必须学习。
谢谢

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

abs(StrengthA - StrengthB)
但是,您必须首先确保使用的是整数。为此,请执行以下操作:

StrengthA = int(input())  # Do the same with StrengthB.

编辑:

要找到总的除以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()
def get_int(提示,低=无,高=无):
尽管如此:
尝试:
值=int(输入(提示))

如果(lo为None或lo,到目前为止,这已经起作用了。那么这个整体差异将如何减少5?你能帮忙吗?谢谢!Alex。对不起。我对这个有点陌生。:@user3529441这很好,我很乐意帮忙。如果我的回答对你有帮助,你介意接受吗?您可以通过单击计票下方的勾号使其变为绿色来完成此操作。谢谢,我做到了。但我可以再请你帮个忙吗?我怎样才能把这个数字的总数四舍五入呢。然后创建一个“强度修饰符”?@user3529441当然。只需将其传递到内置的
round()
函数中即可。至于强度修改器,这实际上是一个单独的问题。你可以问一个不同的问题。