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

Posted

技术标签:

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

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

伪代码顺序:

    声明真实半径 声明真实区域 显示“输入半径值:” 输入半径 设置面积 = 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: 不能将序列乘以“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等网站学习 【参考方案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.")

这里发生了一些事情:

    在第一行,我们导入数学模块,其中包含一堆值(如 π)和许多方法(如 tan)。有关模块的更多信息,请查看here。 在第二行,我们询问半径。请注意,与较低级别的编程语言不同,我们不必初始化它。 Python 发现它本身就是一个浮点数(十进制)。编辑:如果您使用的是 python 2,您 确实 必须使用 radius = float(input("Enter an area: )) 进行投射,正如 Damien 指出的那样 在第三行,我们设置面积等于 πr^2。我们调用 math.pi 值,这个值非常精确,然后我们将它乘以 r ^ 2(在 python 中,如果我们想要 a 的 b 次方,我们写 a ** b) 在第 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 会的!

以上是关于将伪代码步骤转换为 Python 算法的主要内容,如果未能解决你的问题,请参考以下文章

JS 将伪数组转换成数组

使用apply的方法将伪数组转化为数组

将伪数组转为真正的数组

android studio 2018.3.21

将伪枚举模型重构为枚举

在Javascript中什么是伪数组?如何将伪数组转化为标准数组?