Python—ex04—函数和异常处理
2019.12.23日
一些内置函数的使用
描述
查看前3次课遇到的内置函数,掌握它们的用法。
注意:以下示例绝大多数没有用print()函数,在交互模式下可以正常运行。如果是在python123的在线编程环境,或者是保存在文件中运行,则需要添加print()才能正常运行。例如:
print(str(5))
基本输出函数,默认输出到屏幕,相邻数据使用空格分隔,以换行符结束所有数据的输出
print(“You”,“need”,“Python.”)
显示提示,接收键盘输入的内容,返回字符串
name = input("Please input your name: ")
返回与x等价的布尔值True或False;
bool(‘5.0’)
把整数或字符串想转换为浮点数并返回;
float(‘3.4’)
返回实数,分数或高精度实数的整数部分,或把d进制的字符串x转换为十进制返回,d默认为十进制
int(‘10’,2)
把对象直接转换为字符串
str(5)
返回对象的帮助信息
help(int)
返回指定对象或模块的成员列表,如果不带参数,则返回当前作用域内所有标识符
dir(builtins)
测试对象是否属于指定类型的实例(如果有多个类型的话需要放到元组中)
isinstance(3,int)
返回对象包含的元素个数,适用于列表,元组,集合,字典,字符串以及range对象,不适用与具有惰性求值特点的生成器对象和map,zip等迭代对象
len(“python”)
range([start,]stop[,step]): 返回range对象,其中包含左闭右开区间[start,stop)内以step为步长的整数
range(10,0,-2)
sum(x): 返回序列x中所有元素之和,允许指定起始值start,返回start+sum(x)
sum([1,2,3,4,5])
返回对象的类型
type(‘python’)
# 基本输出函数,默认输出到屏幕,相邻数据使用空格分隔,以换行符结束所有数据的输出
print("You","need","Python.")
print("You","need","Python.",sep=' ',end='\n')
# 显示提示,接收键盘输入的内容,返回字符串
name = input("Please input your name: ")
name = input("Please input your name: ")
# 返回与x等价的布尔值True或False;
bool('5.0')
bool('5.0')
# 把整数或字符串想转换为浮点数并返回;
float('3.4')
float('3.4')
# 返回实数,分数或高精度实数的整数部分,或把d进制的字符串x转换为十进制返回,d默认为十进制
int('10',2)
int('10',2)
# 把对象直接转换为字符串
str(5)
str(5)
# 返回对象的帮助信息
help(int)
help(int)
# 返回指定对象或模块的成员列表,如果不带参数,则返回当前作用域内所有标识符
dir(__builtin__)
dir(__builtin__)
# 测试对象是否属于指定类型的实例(如果有多个类型的话需要放到元组中)
isinstance(3,int)
isinstance(3,int)
# 返回对象包含的元素个数,适用于列表,元组,集合,字典,字符串以及range对象,不适用与具有惰性求值特点的生成器对象和map,zip等迭代对象
len("python")
len("python")
# range([start,]stop[,step]): 返回range对象,其中包含左闭右开区间[start,stop)内以step为步长的整数
range(10,0,-2)
range(10,0,-2)
# sum(x): 返回序列x中所有元素之和,允许指定起始值start,返回start+sum(x)
sum([1,2,3,4,5])
sum([1,2,3,4,5])
# 返回对象的类型
type('python')
type('python')
用函数来实现如何将成绩从百分制变换到等级制
描述
写一个函数名为grade_convert,带一个参数score。如果score不是[0,100]的整数,则输出"Score must be a number between 0 and 100.",否则按照下表中对应的等级成绩输出。百分制成绩区间包含上界和下界。
输入输出示例
输入 输出
示例 1
120
Score must be a number between 0 and 100.
示例 2
78
C
def grade_convert(score):
"""return the grade of the score. score is a number in [0,100]"""
if 100>=score>=90:
return "A"
elif score>=80:
return "B"
elif score>=70:
return "C"
elif score>=60:
return "D"
elif score>=0:
return "E"
else:
return "Score must be a number between 0 and 100."
score = int(input())
print(grade_convert(score))
简单的非刷新文本进度条
描述
利用print()函数实现简单的非刷新文本进度条,程序运行结果如下:
import time
scale = 10
print("----------执行开始----------") #别忘了这个呀
for i in range(scale+1): #勿忘+1
a = '**'*i
b = '.. '*(scale-i)
c = (i/scale)*100 #简单的得出abc
print("{:>3.0f}%[{}->{}]".format(c,a,b)) #这个稍微有点复杂,本质还是格式化输出:print("{:>3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1) #time模块的运用,休眠
print("----------执行结束----------")
Python time sleep()方法 | 菜鸟教程
https://www.runoob.com/python/att-time-sleep.html
Python Sleep - jamespb - 博客园
https://www.cnblogs.com/jamespb/archive/2011/10/11/2207513.html
输出小于100的最大素数
描述
利用for循环输出小于100的最大素数。
def mm(n):
for i in range(2,n):
if n%i==0:
return False
else:
return True
for a in range(100,1,-1):
if mm(a):
print(a)
break