Fine内置函数介绍二

#例程11:range(start,end,step)

#  range(start,end,step)按要求返回一个列表

#  返回一个列表[start,start+step,start+2*step,+ … +n*step]

#  返回的列表中不包含end本身

a = range(0,10,1)

print("%\n",a)    # [0,1,2,3,4,5,6,7,8,9]

 range(0,10,3)

print("%\n",a)    # [0, 3, 6, 9]

a = range(12,20,1)

print("%\n",a)    # [12,13,14,15,16,17,18,19]

a = range(5,-5,-2)

print("%\n",a)    # [5,3,1,-1,-3]


#例程12:max(var1,var2,…,varn)

#  max(var1,var2,…,varn) 返回var1,var2,…,varn中最大的那一个

#  输入参数var1,var2,…,varn,可以是整数、小数、字符串,

#  输入参数全部是整数、小数,或全部是字符串,字符串和数字不能比较

#  返回其中的最大值,或最大的字符串

a = max(1, 5, 3.5, 7.2, 3, 4, 0.2)

print("%\n",a)   

a = max("0","000","a","abc","ac")

print("%\n",a)    

#  字符串的比较规则:逐位比较,如果第一位相同,再比较第二位,直到

#  某位出现不同,此时该位字符大的,对应的那个字符也是大的。

#  如:"b" > "ab" > "a"

#  数字"1",…,"9"小于大写字母,大写字母小于小写字母


#例程13:min(var1,var2,…,varn)

#  min(var1,var2,…,varn) 返回var1,var2,…,varn中最小的那一个

#  输入参数var1,var2,…,varn,可以是整数、小数、字符串,

#  输入参数全部是整数、小数,或全部是字符串,字符串和数字不能比较

#  返回其中的最小值,或最小的字符串

a = min(1, 5, 3.5, 7.2, 3, 4, 0.2)

print("%\n",a)   

a = min("0","000","a","abc","ac")

print("%\n",a)    

#  字符串的比较规则:逐位比较,如果第一位相同,再比较第二位,直到

#  某位出现不同,此时该位字符大的,对应的那个字符也是大的。

#  如:"b" > "ab" > "a"

#  数字"1",…,"9"小于大写字母,大写字母小于小写字母


#例程14:itoc(var)

#  输入参数var必须是(正、负)整数、或者(正、负)浮点数,

#  浮点数包括小数、科学计数法。

#  返回十进制的字符串

a = itoc(505)

print("%\n",a + "abcd")   # 打印结果为:"505abcd"

a = itoc(-123.456)

print("%\n",a)     # 打印结果为:"-123.456"


#例程15:ctoi(var)

#  输入参数var可以是符合正整数、负整数书写格式的字符串(十进制)

#  输入参数var也可以是符合小数书写格式的字符串(十进制)

#  输入参数var还可以是符合科学技术书写格式的字符串(十进制)

#  返回十进制的数

a = ctoi("505")

print("%\n",a)   # 打印结果为:505

a = ctoi("-505")

print("%\n",a)   # 打印结果为:-505

a = ctoi("-123.456")

print("%.3f\n",a)   # 打印结果为:-123.456

a = ctoi("-123.456e-3")

print("%.6f\n",a)   # 打印结果为:-0.123456

a = ctoi("123.456e-30")

print("%\n",a)   # 打印结果为:1.23456000000000e-28


#例程16:version()

#  无输入参数

#  返回:当前编译器的版本号 : 当前fie文件编译时间 : 保留空间 : 

#  当前fie文件长度

print("%\n",version())


# 例程17:c = sprint()

# 功能:与print函数功能类似,区别在于,print是将字符串打印在屏幕上,

# sprint()是将字符串赋值给变量c

a = 5.6

b = "中国"

list = [1,"abcd",12.56,"张三"]

dict = {"a":1,"b":2,"c":3}

c = sprint("%.1f    %    %.2f    %\n",a,b,list,dict)

print("%\n",c)   

# 运行结果与print("%.1    %    %.2f    %\n",a,b,list,dict)的效果是一样的


# 例程18:sprintTab(var,width,decim,way)

# 参数1:是个变量,例如,整数、浮点数、字符串、列表、字典

# 参数2:经sprintTab转换后,参数1所占位置宽度,不足部分自动补空格

# 参数3:小数位数,对于浮点数,该参数控制显示小数的位数,对于整数和字符串,该参数一般为0

# 参数4:补空格方式,1左对齐,2居中,3右对齐,其他值被默认左对齐

# 返回:返回一个占位width个字节的字符串,不足部分补空格

# 功能:主要用于显示表格对齐

list_class = []

list = ["姓名","性别","年龄","就读学校"]

list_class.append(list)

list = ["张三","男","25","北京大学"]

list_class.append(list)

list = ["王二麻子","男","22","北京航天航空大学"]

list_class.append(list)

list = ["贝拉克.侯赛因.奥巴马","男","78","Harvard University"]

list_class.append(list)

    # 像这样一组数据,直接print是对不齐的,显得混乱,用sprintTab预处理后在显示,就整齐了

    # 左对齐

for i in list_class

{

    member = i  # 从班级列表里面取出一位同学的信息

    name = sprintTab(member[0],30,0,1)  # 姓名这一列占位30个字节,小数位0,左对齐

    sex  = sprintTab(member[1],6,0,1)  # 性别这一列占位6个字节,小数位0,左对齐

    age  = sprintTab(member[2],6,0,1)  # 年龄这一列占位6个字节,小数位0,左对齐

    school = sprintTab(member[3],30,0,1)  # 姓名这一列占位30个字节,小数位0,左对齐

    print(name,sex,age,school,"\n")  # 无格式print,最后加一个换行

}

print("\n\n\n")

    # 居中

for i in list_class

{

    member = i  # 从班级列表里面取出一位同学的信息

    name = sprintTab(member[0],30,0,2)  # 姓名这一列占位30个字节,小数位0,左对齐

    sex  = sprintTab(member[1],6,0,2)  # 性别这一列占位6个字节,小数位0,左对齐

    age  = sprintTab(member[2],6,0,2)  # 年龄这一列占位6个字节,小数位0,左对齐

    school = sprintTab(member[3],30,0,2)  # 姓名这一列占位30个字节,小数位0,左对齐

    print(name,sex,age,school,"\n")  # 无格式print,最后加一个换行

}

print("\n\n\n")

    # 右对齐

for i in list_class

{

    member = i  # 从班级列表里面取出一位同学的信息

    name = sprintTab(member[0],30,0,3)  # 姓名这一列占位30个字节,小数位0,左对齐

    sex  = sprintTab(member[1],6,0,3)  # 性别这一列占位6个字节,小数位0,左对齐

    age  = sprintTab(member[2],6,0,3)  # 年龄这一列占位6个字节,小数位0,左对齐

    school = sprintTab(member[3],30,0,3)  # 姓名这一列占位30个字节,小数位0,左对齐

    print(name,sex,age,school,"\n")  # 无格式print,最后加一个换行

}


# 例程19  PowerDown(x)

# 参数是1、2、3其中之一

# 无返回

# 功能:用在数据收发等待循环、GUI等到窗口关闭循环中,降低功耗,同时,也降低计算机性能

# 下面是一个从屏幕录入数据的窗口程序

gui = GUI()                      # 定义GUI对象,用于图形界面显示

gui.HideConsoleWindow()          # 隐藏控制台窗口


# 设计窗口界面

title = "TCP文件传输——客户端"                        # 窗口标题

size  = [30,5,80,20]                                 # 窗口位置、尺寸 


textbox = ["显示录入数据","textbox","N",14,3,40,3]   # 显示区域

edit = ["  文件名  ","edit","s",14,9,60,1]           # 录入文件名控件

button = [" 确定 ","button",60,14,12,1]              # “确定”按钮

list  = [title,size,textbox,edit,button]             # 打包窗口参数


num = gui.Fine(list)                           # 创建文件录入窗口

while gui.FineClosed(num) != -1               # 检测文件录入窗口是否关闭

{

    # 录入数据的过程是一个"相对慢的动作",响应慢一些不会有明显影响

    PowerDown(3)                              # 降功耗设置

    if gui.FineReady(num) == -1 {continue}

    x = gui.FineRead(num)                      # 尝试读取录入内容

    print("%\n",x)

    data = x[1]                     # 读取录入数据   

    gui.SendTextbox(num,[data])     # 将录入的数据(打包入列表中)显示在窗口的textbox区域

}


0