巴克斯范式和Python表达式

巴克斯范式

巴克斯范式指的就是一个代码,从非终结符号转换到终结符号,这个代码是一个句子,它的语法结构可以用主语+谓语+宾语表示。

主语(subject)可以选择用名词(noun)作为终结符号。

谓语可选择动词(verb)作为终结符号.

宾语可选择名词(noun)作为终结符号.

所有的代码都可以简化为这样一种语法结构,但是它可以表达很多信息。当然它的特点就是准确和简单。

Python表达式

Python语法是一个非常严格的,比我们用的母语严格得多,当我们母语不严格时,我们还可以相互理解,而Python语法不严格时,会出现无效的语法结构。

Expression→Expression+oprator+Expression

有两个左边表达式和右边表达式,右边表达式可以从左边表达式替代

Expression 可以用number替代;number可以用0、1、2……替代

oprator可以用加减乘除替代

具体数字是终止符,加减乘除也是终止符。

当我们不用number代替时,我们也可以用右边表达式,这是一个无限循环的模式,这样的是不行的。

我们增加一个新的规则:那就是(expression)来表达一个新的表达式。

下面是我做错的题,值得注意:
Write Python code to print out how far light travels

in centimeters in one nanosecond. Use the values

defined below.

speed_of_light = 299792458 meters per second

centimeters = 100 one meter is 100 centimeters

nanosecond = 1.0/1000000000 one billionth of a second

print ((2997924581000)0.0000000001)

其实这是三个数字相乘怎样用Python表达呢?

我第一次输入的是((2997924581000)0.0000000001) 它是错误的,忘了输入print

第二次输入print ((2997924581000)0.0000000001)才是对的。

分析原因如下:如果你发现运行结果为0,尝试将值转换为小数。

当你将一个整数(没有小数点的数字) 除以另一个整数,Python 会做一些处理,称为整数除法,也就是会将结果的小数部分忽略掉。例如, 5/2 会得出结果 2 而不是 2.5,还有1/10 会得出结果 0 而不是 0.1。

要强制使 Python 运行出含小数的答案,需要通过在数字后加小数点的方式,使其中的一个数字成为小数。例如:5/2.0 就可以得出 2.5, 5.0/2也是一样。

你可能感兴趣的:(巴克斯范式和Python表达式)