3

OK、うまく機能するようにコードを編集しましたが、 TypeError: can't Multiply sequence by non-int of type 'float'. が発生します。

私が持っているコードは次のとおりです。

uTemp = input("Enter Temperature Variable: ")

cOrF = input("Do you want C for celcius, or F for Farehnheit?: ")

if cOrF:
    F = 1.8 * uTemp + 32
4

2 に答える 2

7

uTempこのエラーは、文字列である を浮動小数点数 ( ) で乗算できないことを示しています1.8。どちらが完全に理にかなっていますか?弦の 10 分の 8 とは? uTempfloat に変換します。

uTemp = float(input("Enter Temperature Variable: "))

次の問題はcOrF、ブール値 (true/false) として扱われることです。これは、Python ではすべての空でない文字列が真であるため、ユーザーがそのプロンプトで何かFを入力すると計算されることを意味します。したがって、代わりに次のように記述します。

if cOrF == "F":
    F = 1.8 * uTemp + 32
于 2013-09-06T23:56:13.977 に答える
6

input()Python 3.x では文字列を返します。

それを次のように変換しますfloat(またはint必要に応じて - に変換します):

uTemp = float(input("Enter Temperature Variable: "))
于 2013-09-06T23:51:43.963 に答える