[英]Why can't I subtract these two values?
first = ("Enter a 3 digit number: ")
second = ("Enter a 3 digit number: ")
first_letter = first[0]
first_letter2 = second[0]
second_letter = first[1]
second_letter2 = second[1]
third_letter = first[2]
third_letter2 = second[2]
subtracting1 = abs(float(first_letter)) - abs(float(first_letter2))
subtracting2 = abs(float(second_letter) - float(second_letter2))
subtracting3 = abs(float(third_letter) - float(third_letter2))
special_difference = subtracting1 + subtracting2 + subtracting3
print("The special distance between", first,"and", second, "is", special_difference)
你好呀,
我正在尝试创建一个程序,该程序计算两个数字中相应三位数字之间的绝对差之和之间的差。 例如,如果用户输入 123 和 456,则特殊距离通过以下方式计算:
123(1)的第一位和456(4)的第一位的绝对差是3。123的第二位(2)和456的第二位(5)的绝对差是3。绝对123的第三位(3)和456的第三位(6)的差是3。特殊差是3 + 3 + 3 = 9。
Idle 表示subtracting_1 位有问题。 它说它不能转换为浮点数。 我检查了代码,我看不出有什么问题?
您应该将前两行更改为
first = input("Enter a 3 digit number: ")
second = input("Enter a 3 digit number: ")
以便程序实际接收来自用户的输入。 否则first
将是字符串“输入一个 3 位数字:”而不是一个 3 位数字的字符串。
你应该改变这一行:
subtracting1 = abs(float(first_letter)) - abs(float(first_letter2))
对于这条线
subtracting1 = abs(float(first_letter) - float(first_letter2))
这是我看到的唯一区别,还要确保将数字设置为数字而不是字符串
first = input("Enter a 3 digit number: ")
second = input("Enter a 3 digit number: ")
first_letter = first[0]
first_letter2 = second[0]
second_letter = first[1]
second_letter2 = second[1]
third_letter = first[2]
third_letter2 = second[2]
subtracting1 = abs(float(first_letter) - float(first_letter2))
subtracting2 = abs(float(second_letter) - float(second_letter2))
subtracting3 = abs(float(third_letter) - float(third_letter2))
special_difference = subtracting1 + subtracting2 + subtracting3
print("The special distance between", first,"and", second, "is", special_difference)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.