0

このプログラムで無効な構文エラーが発生する理由がわかりません。かなり単純だと思いますが、私はこれに非常に慣れていません。ここにすべてがあります:

# Welcome Message
print ("Hello and welcome to the Plesha EasyTube Wizard!")
print ("Today we will be gathering measurements from you to determine the \
materials and cost of your tubes.")
print ("All measurements should be in centimeters!")
print ()

# Collect user inputs
height = float(input("Let's begin: What is the height of you desired tube? "))
radius = float(input("And what is the radius? "))
count = int(input("How many would you like? "))

# Set Constants
steelPrice = 0.14
rubberPrice = 0.02

# Calculations
import math
singleTubeVol = math.pi * (radius ** 2) * height
allTubeVol = singleTubeVol * count
singleTubeSurface = (2 * math.pi * (radius ** 2)) + (2 * math.pi * radius * height)
allTubeSurface = singleTubeSurface * count
singleTubeRubber = 2 * math.pi * (radius + 0.5) * height
allTubeRubber = singleTubeRubber * count
steelCost = steelPrice * allTubeSurface
rubberCost = rubberPrice * allTubeRubber
totalCost = rubberCost + steelCost

# Output
                                                      V------ here is where the problem is
print ("You wanted ", count " tubes in the dimesions ", height \
   " centimeters by ", radius " centimeters (radius).")
print ("The volume of a single tube of your specifications is: ", singleTubeVol)
print ("The total volume of your tube order will be ", allTubeVol)
print ("You will require ", allTubeSurface " square centimeters of steel. Totalling "\
   , steelCost "in price." )
print ("You will require ", allTubeRubber " square centimeters of rubber. Totalling "\
   , rubberCost " in price." )
print ("Your total cost for this order will be ", totalCost)

初心者のための助けに感謝します。

4

2 に答える 2

4

いくつかのコンマを忘れました:

print ("You wanted ", count, " tubes in the dimesions ", height,
#                     -----^                              -----^

次の行でさらに詳しく説明します。

   " centimeters by ", radius, " centimeters (radius).")
#                       -----^
print ("The volume of a single tube of your specifications is: ", singleTubeVol)
print ("The total volume of your tube order will be ", allTubeVol)
print ("You will require ", allTubeSurface, " square centimeters of steel. Totalling "
#                                    -----^
   , steelCost, "in price." )
#        -----^
print ("You will require ", allTubeRubber, " square centimeters of rubber. Totalling "
#                                   -----^
   , rubberCost, " in price." )
#         -----^

フォーマットを使用した方が良いでしょう:

print("""\
You wanted {count} tubes in the dimesions {height:0.2f} centimeters by {radius:0.2f} centimeters (radius).
The volume of a single tube of your specifications is: {singleTubeVol:0.2f}
The total volume of your tube order will be {allTubeVol:0.2f}
You will require {allTubeSurface:0.2f} square centimeters of steel. Totalling {steelCost:0.2f} in price.
You will require {allTubeRubber:0.2f} square centimeters of rubber. Totalling {rubberCost:0.2f} in price.
Your total cost for this order will be {totalCost:0.2f}""".format(**locals()))

これはstr.format()メソッドを使用し、トリプルクォートされた文字列と組み合わせて"""テキストを一度にフォーマットし、浮動小数点値を小数点以下2桁でフォーマットします。

出力例:

Hello and welcome to the Plesha EasyTube Wizard!
Today we will be gathering measurements from you to determine the materials and cost of your tubes.
All measurements should be in centimeters!

Let's begin: What is the height of you desired tube? 10
And what is the radius? 2.5
How many would you like? 3
You wanted 3 tubes in the dimesions 10.00 centimeters by 2.50 centimeters (radius).
The volume of a single tube of your specifications is: 196.35
The total volume of your tube order will be 589.05
You will require 589.05 square centimeters of steel. Totalling 82.47 in price.
You will require 565.49 square centimeters of rubber. Totalling 11.31 in price.
Your total cost for this order will be 93.78
于 2013-04-11T19:34:36.347 に答える