簡體   English   中英

為什么我不能減去這兩個值?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM