【问题标题】:Translating Pseudocode steps into Python algorithm将伪代码步骤转换为 Python 算法
【发布时间】:2017-11-27 17:33:59
【问题描述】:

我对编程完全陌生,我应该将伪代码转换为 Python 算法以进行类分配。我已经多次测试了我的算法(如果你甚至可以这样称呼它)并且不断出现错误消息。任何可能有帮助的建议或资源将不胜感激!

伪代码顺序:

  1. 声明真实半径
  2. 声明真实区域
  3. 显示“输入半径值:”
  4. 输入半径
  5. 设置面积 = 3.14 * 半径 * 半径
  6. 显示区域

尝试的代码:

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”类型的非整数

【问题讨论】:

  • Michelle,Attempt 看起来不错,你能把真实的代码和错误也加进去吗?会有很大帮助
  • 当然。这是我在 Python 编辑器 5.2.0 IDE 中写的: Radius = 1.0 Area = 1.0 print(" Enter value for radius : ") Radius = input(" Enter value for radius : ") Area = 3.14 * radius * radius print (区域)当我运行它时,这是出现的错误消息: ParseError: bad token on line 3
  • 有没有办法显示我的实际代码/格式?
  • 这是你目前得到的吗?
  • Input() 将打印给它的消息。无需再次运行打印。你可以向medium.freecodecamp.com/tagged/python?gi=7717415099ad等网站学习

标签: python-3.x input pseudocode area


【解决方案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

【讨论】:

  • Yeeeees,对刚开始的人来说很好的解释,这对我来说是一个加分项:)
【解决方案2】:

最好的方法是:

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: )) 进行投射,正如 Damien 指出的那样
  3. 在第三行,我们设置面积等于 πr^2。我们调用 math.pi 值,这个值非常精确,然后我们将它乘以 r ^ 2(在 python 中,如果我们想要 a 的 b 次方,我们写 a ** b
  4. 在第 4 行,我们将区域打印为字符串。请注意,我们必须使用 str() 函数将浮动区域转换为字符串。这基本上是 Java 将不是字符串的任何内容打印为字符串(字符集合)的简单方法。

希望有帮助!

【讨论】:

  • 不错,有很多新信息可以吸收,我真的很喜欢。是加一宝贝!
  • 另一条评论,你忘记添加类型,输入后不告诉代码不起作用进行输入,看看我的答案你会看到,或者检查你的代码在这里repl.it/languages/python3
  • 感谢@DamianLattenero 的反馈!我已经调整了答案,使其与 Python 2 和 3 一致。我在 Python 3 中编码,所以在我自己的机器上运行时没有注意到错误:)
【解决方案3】:

好吧,我将对此添加一些解释:

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)

【讨论】:

  • 是的。这就是我输入的内容,然后在第 3 行弹出错误消息。
  • 啊,这完全有道理。所以我完全忘记了输入。谢谢! :)
  • @MichelleMcGuire 欢迎您!如果有用,请不要忘记将答案视为已接受:)
  • @DamianLattenero 会的!
猜你喜欢
  • 2020-03-06
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2020-07-07
  • 2023-04-10
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多