All published worksheets from http://sagenb.org
Image: ubuntu2004
1 算数运算
SAGE使用“=”进行赋值,布尔运算符为"==",">=","<=",">","<"
SAGE的基本数学运算有: 指数("**","^"),除法(“/”),地板除(“//”),取余("%")
SAGE中以0开头的数字为8进制
2 帮助
和linux下众多软件相同,SAGE用于强大的内置文档,只需要输入函数或者常数名字,加上问号即可。
File: /opt/sage/local/lib/python2.6/site-packages/sage/functions/trig.py
Type: <class ‘sage.functions.trig.Function_sin’>
Definition: sin(*args, coerce=True, hold=False, dont_call_method_on_arg=False)
Docstring:
The sine function.
EXAMPLES:
sage: sin(0) 0 sage: sin(x).subs(x==0) 0 sage: sin(2).n(100) 0.90929742682568169539601986591 sage: loads(dumps(sin)) sin
3 函数
在SAGE中定义一个新的函数,使用命令def,并在变量列表后跟一个冒号,如:
4 IF语句
SAGE中if语句的语法如下:
if expression:
if_suite
else:
else_suite
elif expression1:
elif_suite
我们编写如下函数
5 循环
SAGE中提供了两种循环:while循环和for循环, 其中while循环为当型循环,语法如下:
while expression:
while_suite
假设银行的一年期整存整取的年利率为6.9%,试计算10000元存款多少年后连本带息达到20000,编写命令如下:
SAGE中的for循环与C语言的for循环略有不同,C语言中的for循环为计数器循环,而SAGE中的for循环功能较计数器循环略强,更像foreach(针对每个个体重复一次),先看传统的计数器循环语法:
for each in range(n):#自0循环到n-1:each++
for_suite
for each in range(m,n):#自m循环到n-1:each++
for_suite
for each in range(m,n,step):#自m循环到n-1:each+=step
for_suite
计算n的阶乘
下面举例说明类似foreach的用法
6 类class
SAGE也支持面向对象的程序设计,定义类的语法为:
class ClassName(base_class[es]):
"optional documentation string"
static_member_declarations
method_declarations
定义Fibonacci数列类,基础类为list,命令如下:
Type: <type 'type'>
Definition: fibonacci( [noargspec] )
Docstring:
Fibonacci