[英]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.