カウントされたループのカウントとして平方根を使用しようとしていますが、浮動小数点が必要です。私はmath.sqrtによって提供された値をfloatに変換することが考えられるあらゆる方法を試しましたが、私はまだメッセージを受け取ります。python 3 - math.sqrt - 浮動小数点が必要です
コード:
from random import randrange
import math
def getInfo():
tilesNum = float(input("Please enter number of tiles now: "))
def procedure(tilesNum):
countX = 0
SqRoot = float(math.sqrt(tilesNum))
print(SqRoot)
for i in range(float(SqRoot)):
countX = countX + 1
countY = 0
for i in range(float(SqRoot)):
countY = countY + 1
terrain = randrange(1, 5)
if terrain == 1:
print("terrain on tile", countX, countY, "is frozen")
elif terrain == 2:
print("terrain on tile", countX, countY, "is flooded")
elif terrain == 3:
print("terrain on tile", countX, countY, "is impeded by rocks")
else:
print("terrain on tile", countX, countY, "is overgrown")
def main():
tilesNum = getInfo()
procedure(tilesNum)
main()
エラー:
Traceback (most recent call last):
File "C:\Users\Rainy\AppData\Local\Programs\Python\Python35\PBA prototype (problem).py", line 50, in <module>
main()
File "C:\Users\Rainy\AppData\Local\Programs\Python\Python35\PBA prototype (problem).py", line 48, in main
procedure(tilesNum)
File "C:\Users\Rainy\AppData\Local\Programs\Python\Python35\PBA prototype (problem).py", line 15, in procedure
SqRoot = float(math.sqrt(tilesNum))
TypeError: a float is required
すべてのヘルプは大歓迎です!
- 雨
あなたは@ Rob fromから正しい答えを得ています。次回は、そのようなメッセージが表示されたら、タイルが何であるかを確認してください。 - 行にブレークポイントを置き、チェックしてください。または、printステートメントを追加します。 – zmbq