Python变量
我试图创建一个基本程序,根据用户输入的变量生成一个数字。公式是Python变量,python,Python,我试图创建一个基本程序,根据用户输入的变量生成一个数字。公式是 a = b / (c * d) 这是一个计算比热的公式,而b=能量,c=质量,和d=温度变化 所以我的问题是我不是为自己做这个程序,否则我可以给每个变量分配一个数字,比如: b= 1200 c= 13 d= 2 然后做a=a=b/(c*d) 不过,我的目标是为那些还不知道公式的人创建一个程序,这样他们就可以自己输入数字了。示例-我想要b=XX是程序用户输入的数字。然而,我必须首先将X定义为一个变量——我希望它是未知的——或者基
a = b / (c * d)
这是一个计算比热的公式,而b=能量
,c=质量
,和d=温度变化
所以我的问题是我不是为自己做这个程序,否则我可以给每个变量分配一个数字,比如:
b= 1200
c= 13
d= 2
然后做a=a=b/(c*d)
不过,我的目标是为那些还不知道公式的人创建一个程序,这样他们就可以自己输入数字了。示例-我想要b=X
X
是程序用户输入的数字。然而,我必须首先将X
定义为一个变量——我希望它是未知的——或者基于一个人输入的内容。我不希望b
、c
或d
有赋值。我知道这是一个非常基本的脚本编写过程,但我对Python还是新手
b = float(raw_input("Please enter a value: "))
a = b / (c*d)
print a
raw\u input()
提示用户输入,假设您正在控制台中运行此操作
float()
尝试将参数(在本例中为用户输入)转换为float。
剩下的部分应该很简单
试试看。欢迎使用Python:)最简单的方法是在公式前面加上片段
b = input("Enter b:")
c = input("Enter c:")
d = input("Enter d:")
需要注意的几点:
- 这需要控制台IO,因此最好从控制台启动脚本
- input()导致输入的字符串被eval()'ed,这意味着它获取进程的方式就像它是Python表达式一样。这对数字很有用,但可能有令人困惑的副作用;考虑使用<代码> RWYIN()/<代码>,同时使用<代码>浮点()/<代码>。
- 我想你想要这样的东西:
b = float(raw_input("Energy? "))
c = float(raw_input("Mass? "))
d = float(raw_input("Change in temperature? "))
print "Specific heat: %f" % (b / (c * d))
- raw_input()提示用户并返回输入值
- float()将值转换为float(如果可能,则引发异常并终止程序)
- 最后一行中的“%f”将参数格式化为浮点值,其中“参数”是字符串外%后面表达式的值(即“(b/(c*d)))
b= float(raw_input("Enter the energy"))
c= float(raw_input("Enter the mass"))
d= float(raw_input("Enter change in temperature"))
a = b / (c * d)
print a
警告Python新手在Python2.x和更早版本中,
input()
是危险的,这是非常明智的。在Python3中,他们终于解决了这个问题,但这是语言中一个长期存在的问题(从Guido从一个专注于编程教学的语言中构思出来)。Python<3执行input()
值的计算。它相当于Python3.x中的eval(input())
。应该提醒学生使用raw\u input()
或者甚至在代码中使用input=raw\u input
开始代码之前,先对其函数重新命名。当然,如果我们将其封装在一些很好的异常处理中,效果会更好:def getNum(prompt=“输入一个数字:”):result=None而result为None:try:result=float(原始输入(提示))除了ValueError:print“无法解析它。请重试”。否则:中断返回结果非常感谢,我试过这个,我知道实际的脚本本身必须工作。我的问题是,当我输入b=float(原始输入(“输入能量值”))时,我的结果是:b=float(原始输入(“输入能量值”))输入能量值:所以我不能实际将任何东西放在那里,否则它会将我放的任何东西的变量分配给b。我有一种感觉,我必须在我的脚本的开头放一些东西,识别它是一个程序或什么的。很抱歉我的无知,再一次我对Python非常陌生。谢谢大家的帮助@乔丹:你的评论毫无意义。请重写它,使它有意义,并更新你的问题,无论你真正的问题是什么。+1不是一个困难的问题…但它不值得简单的否决票。