将伪代码步骤转换为Python算法

时间:2017-06-24 05:52:23

标签: python-3.x input pseudocode area

我对编程完全不熟悉,我应该将伪代码转换成类算法的Python算法。我已经测试了我的算法(如果你甚至可以称之为)那么多次,并不断提出错误消息。任何可能提供帮助的建议或资源都将不胜感激!

伪码顺序:

  1. 声明实际半径
  2. 声明真实区域
  3. 显示“输入半径值:”
  4. 输入半径
  5. 设置面积= 3.14 *半径*半径
  6. 展示区
  7. 尝试过的代码:

    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:不能将序列乘以'float'

    类型的非int

3 个答案:

答案 0 :(得分:1)

input()返回一个字符串,因此返回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

答案 1 :(得分:0)

最好的方法是:

import math
radius = input("Enter a radius: ")
area = math.pi * radius ** 2
print("The area is: " + str(area) + "cm squared.")

这里发生了一些事情:

  1. 在第一行,我们导入数学模块,其中包含一堆值(如π)和许多方法(如tan)。有关模块的更多信息,请查看here
  2. 在第二行,我们要求半径。请注意,与低级编程语言不同,我们不必初始化它。 Python发现它本身就是一个浮点数(小数)。编辑:如果您正在使用python 2,那么必须使用radius = float(input("Enter an area: ))
  3. 正如Damien指出的那样进行投射
  4. 在第三行,我们将区域设置为等于πr^ 2。我们调用math.pi值,这是非常精确的,然后我们乘以r ^ 2(在python中如果我们想要得到b的幂,我们写a ** b
  5. 在第4行,我们将该区域打印为字符串。请注意,我们必须使用str()函数将浮动区域强制转换为字符串。这基本上是Java打印任何非字符串作为字符串(字符集合)的简单方法。
  6. 希望有所帮助!

答案 2 :(得分:-1)

好吧,我会补充一些解释:

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)