1. ホーム
  2. python

[解決済み] TypeError: str には ("float" ではなく) str しか連結できない。

2022-02-07 03:52:16

質問

ある質量と体積の密度を、化合物の密度のリストと比較して、分析している化合物の種類を返すプログラムを作りたいのですが、どうすればいいですか?

これは、エラーを返している部分です。

peso = float(input("Qual o peso do plastico da sua protese?"))
volume = float(input("Qual o volume do material?"))
str(peso)
str(volume)

def resultados():
  print('O peso do plastico é de ' + peso, end="", flush=True)

resultados()
  print(' g e tem um volume de ' + volume + "dm^3")

エラーメッセージです。

TypeError                                 Traceback (most recent call last)
<ipython-input-9-d36344c01741> in <module>()
      8     print('O peso do plastico é de ' + peso, end="", flush=True)
      9 
---> 10 resultados()
     11 print(' g e tem um volume de ' + volume + "dm^3")
     12 #############

<ipython-input-9-d36344c01741> in resultados()
      6 
      7 def resultados():
----> 8     print('O peso do plastico é de ' + peso, end="", flush=True)
      9 
     10 resultados()

TypeError: can only concatenate str (not "float") to str

解決方法は?

この方法については、いくつかのオプションがあります。

使用方法 peso = str(peso) と同じように volume = str(volume)

peso = float(input("Qual o peso do plastico da sua protese?"))
volume = float(input("Qual o volume do material?"))
peso = str(peso)
volume = str(volume)

def resultados():
  print('O peso do plastico é de ' + peso, end="", flush=True)

resultados()
print(' g e tem um volume de ' + volume + "dm^3")

または、それらを str を実行するときに print として値を保持することができます。 floats より多くの計算を行いたい場合、何度も変換する必要はありません。

peso = float(input("Qual o peso do plastico da sua protese?"))
volume = float(input("Qual o volume do material?"))

def resultados():
  print('O peso do plastico é de ' + str(peso), end="", flush=True)

resultados()
print(' g e tem um volume de ' + str(volume) + "dm^3")