将伪代码步骤翻译成 Python 算法
Translating Pseudocode steps into Python algorithm
我完全不熟悉编程,我应该将伪代码转换为 Python 算法以用于 class 作业。我已经多次测试我的算法(如果你可以这样称呼它的话)并且不断出现错误消息。任何可能有帮助的建议或资源将不胜感激!
伪代码顺序:
- 声明实际半径
- 申报实际面积
- 显示“输入半径值:”
- 输入半径
- 设置面积=3.14*半径*半径
- 展示区
尝试的代码:
radius = 1.0
Area = 1.0
print(" Enter value for radius : ")
radius = input(" Enter value for radius : ")
Area = 3.14 * radius * radius
print(Area)
和错误:
TypeError: can't multiply sequence by non-int of type 'float'
好吧,我将对此进行一些解释:
radius = 1.0 #this is not mandatory, you can create the variable and assign the value in the same moment
area = 1.0
radius = float(input(" Enter value for radius : ")) #here is so important to convert the input into a float, that's the other error you had
area = 3.14 * radius * radius t isn't working
print(area)
input()
returns 一个字符串,因此是您的 TypeError。您尝试将字符串乘以浮点数。
此处更新代码:
radius = 1.0
print("Enter value for radius : ")
radius = input()
print(type(radius))
Area = 3.14 * (float(radius) * float(radius))
print(Area)
输出:
Enter value for radius :
5
<class 'str'>
78.5
最好的方法是:
import math
radius = input("Enter a radius: ")
area = math.pi * radius ** 2
print("The area is: " + str(area) + "cm squared.")
这里发生了一些事情:
- 在第一行我们导入了数学模块,它包含一堆值(比如 π)和很多方法(比如 tan)。有关模块的更多信息,请查看 here.
- 在第二行,我们要求半径。请注意,与低级编程语言不同,我们不必初始化它。 Python 计算出它本身就是一个浮点数(小数)。编辑:如果你使用 python 2,你 do 必须投射,正如 Damien 指出的那样,使用
radius = float(input("Enter an area: ))
- 在第三行,我们将面积设置为 πr^2。我们调用非常精确的 math.pi 值,然后我们将其乘以 r ^ 2 (在 python 中,如果我们想要 a 的 b 次方,我们写
a ** b
)
- 在第 4 行,我们将区域打印为字符串。请注意,我们必须使用
str()
函数将浮动区域转换为字符串。这基本上是 Java 将任何非字符串打印为字符串(字符集合)的简单方法。
希望对您有所帮助!
我完全不熟悉编程,我应该将伪代码转换为 Python 算法以用于 class 作业。我已经多次测试我的算法(如果你可以这样称呼它的话)并且不断出现错误消息。任何可能有帮助的建议或资源将不胜感激!
伪代码顺序:
- 声明实际半径
- 申报实际面积
- 显示“输入半径值:”
- 输入半径
- 设置面积=3.14*半径*半径
- 展示区
尝试的代码:
radius = 1.0
Area = 1.0
print(" Enter value for radius : ")
radius = input(" Enter value for radius : ")
Area = 3.14 * radius * radius
print(Area)
和错误:
TypeError: can't multiply sequence by non-int of type 'float'
好吧,我将对此进行一些解释:
radius = 1.0 #this is not mandatory, you can create the variable and assign the value in the same moment
area = 1.0
radius = float(input(" Enter value for radius : ")) #here is so important to convert the input into a float, that's the other error you had
area = 3.14 * radius * radius t isn't working
print(area)
input()
returns 一个字符串,因此是您的 TypeError。您尝试将字符串乘以浮点数。
此处更新代码:
radius = 1.0
print("Enter value for radius : ")
radius = input()
print(type(radius))
Area = 3.14 * (float(radius) * float(radius))
print(Area)
输出:
Enter value for radius :
5
<class 'str'>
78.5
最好的方法是:
import math
radius = input("Enter a radius: ")
area = math.pi * radius ** 2
print("The area is: " + str(area) + "cm squared.")
这里发生了一些事情:
- 在第一行我们导入了数学模块,它包含一堆值(比如 π)和很多方法(比如 tan)。有关模块的更多信息,请查看 here.
- 在第二行,我们要求半径。请注意,与低级编程语言不同,我们不必初始化它。 Python 计算出它本身就是一个浮点数(小数)。编辑:如果你使用 python 2,你 do 必须投射,正如 Damien 指出的那样,使用
radius = float(input("Enter an area: ))
- 在第三行,我们将面积设置为 πr^2。我们调用非常精确的 math.pi 值,然后我们将其乘以 r ^ 2 (在 python 中,如果我们想要 a 的 b 次方,我们写
a ** b
) - 在第 4 行,我们将区域打印为字符串。请注意,我们必须使用
str()
函数将浮动区域转换为字符串。这基本上是 Java 将任何非字符串打印为字符串(字符集合)的简单方法。
希望对您有所帮助!