Lemon_基础测试题(一)
1、注释是用来做什么的?注释分几类?分别如何定义?
1、注释的用途:a、提示、防遗忘
b、给程序添加说明信息
c、特殊含义,指定编码
2、注释分为:两类 a、单行
b、多行
3、定义:
a、单行
#这是一条注释
程序上方
程序下方
b、多行:
"""
'''
2、变量命名应当符合什么规则?
a、由 字母、下划线 和 数字 组成
b、不能以数字开头
c、不能与关键字重名
d、建议不要与内置函数或者累重名,不然会覆盖原始内置函数的功能
e、区分大小写
f、如果 变量名 需要由 二个 或 多个单词 组成时,每个单词都使用消息字母,单词与单词之间使用 _下划线 连接
3、Python中关键字有哪些?请至少写出10个
if、elif、else、while、break、continue、for、in、
is、or、and、not、def、None、True、Flase
4、变量的类型有哪些?
数据类型可以分为 数字型 和 非数字型
数字型:
整型(int)
浮点型(float)
布尔型(bool)
真 True
假 False
复数型(complex)
非数字型:
字符串
列表
元组
字典
5、如何查看变量的内存地址、变量的类型以及如何比较两个变量值的大小?
1、查看变量的内存地址: id
2、变量的类型: type
3、比较两个变量值的大小: ==
6、数字类型的字符串(如:“123”)与数字类型之间如何相互转换?
1、数字类型的字符串转换为数字: int、float
2、数字类型转换为数字类型的字符串: str
7、字符串与列表之间如何相互转换?
str -> list
字符串.split("")
lise -> str
"".join(列表)
8、Python中的运算符有哪些种类?
算术、比较、逻辑、赋值、成员运算符
9、Python中逻辑运算符有哪些?它们之间有什么区别?
and
一假必假,两真才为真
or
一真必真,两假才为假
not
以假乱真
10、有哪些方法可以修改列表中的某个元素呢?
列表 [index] = value
列表 [start_index:end_index] = value
11、列表中的append和extend的区别
append是将给定的数据加入到列表中(将一个整体作为一个元素加入列表中)
extend是将序列类型的数据扩充到列表中(将序列类型的没一个数据取出来之后,加入到列表中)
12、元组和列表之间如何相互转换?
tuple -> list
list()
list -> tuple
tuple()
13、获取字典中的某个值,有哪几种方法?有什么区别?
字典[key]
key不会存在报错
字典.get(key)
key不存在不会报错,返回None,也可指定返回值
14、我们学过的,不可变类型有哪些?可变类型有哪些?
不可变类型:
str
tuple
int
fioat
bool
可变类型:
list
dict
15、Python中是用什么方法来进行输出操作的?它有哪些常用的参数呢?
是用 print 输出操作的;
常用的参数: end、 sep
16、for和while的区别?
while 循环执行次数往往不确定
for 循环次数已知,推荐使用
17、局部变量和全局变量有什么区别?
全局变量:在全局作用域(全局命名空间)中定义
局部变量:在局部作用域(局部命名空间)中定义
18、编写如下程序:使用while循环实现输出2 -3+4-5+6...+100的和
i=2 #定义循环变量
result = 0 #定义一个变量用于保存结果
while i <=100:
if i%2 == 0:
result += i
else:
result -= i
i += 1 #修改循环变量
print ("2 -3+4-5+6...+100之和为{}".format(result))
19、编写如下程序:用户输入考试成绩,当分数高于90(包含90)时打印A;否则如果分数高于80(包含80)时打印B;否则如果当分数高于70(包含70)时打印C;否则如果当分数高于60(包含60)时打印D;其他情况就打印E
score = int(input("请输入你的考试成绩:"))
if score >=90:
print ("你的成绩为:A")
elif score >=80:
print ("你的成绩为:B")
elif score >= 70:
print ("你的成绩为:C")
elif score >=60:
print ("你的成绩为:D")
else:
print ("你的成绩为:E")
20、编写如下程序:假设一年的定期利率为3.52%,需要几年才能让定期存款连本带息的翻一番。
save_money = float(input("请输入您要要存入银行的钱:"))
print ("您存了{}元到银行!".format(save_money))
TOTAL_MONEY = save_money *2 #定义变量用于保存总钱数
year =1 #定义变量用于记录年份
while save_money < TOTAL_MONEY:
save_money *=(1+0.0352)
year += 1
print ("定期利率为3.52%,需要{}年本金才能翻一番".format(year))
21、编写如下程序:从键盘获取一个数字,然后计算它的阶乘,例如输入的是 3,那么计算 3!的结果,并输出
提示:
a、1!等于 1
b、2!等于 1*2
c、n!等于 12...n
def is_int(int_num):
"""check whether int_num is integer!"""
if isinstance(int_num,str): #判断是否为字符串类型
if int_num.isdigit():
return True
else:
return False
elif isinstance(int_num,int): #判断是否为整数类型
return True
else:
return False
def count_factorial(one_num):
"""count one_num's fatorial"""
result = 1
if one_num < 0:
print ("{}为负数,没有阶乘!".format(one_num))
return None
elif one_num in (0,1):
return 1
else:
for i in range(1,one_num+1):
result *= i
return result
input_num = input("请输入一个正整数:")
if is_int(input_num):
input_num = int(input_num)
print ("{}的阶乘为:{}".format(input_num,count_factorial(input_num)))
else:
print ("输入的{}有误,请输入一个正整数!".format(input_num))
22、编程题:
数据类型转换操作有一组用例数据如下:
cases = [
["case_id","case_title","url","data","excepted"],
["1","用例1","www.baidu.com/","001","ok"],
["4","用例4","www.baidu.com/","004","ok"],
["2","用例2","www.baidu.com/","002","ok"],
["3","用例3","www.baidu.com/","003","ok"],
["5","用例5","www.baidu.com/","005","ok"],
]
要求一:通过相关操作转换为以下格式
res1 = [
{'case_id':1,'case_title':'用例1','url':'www.baidu.com/"','data':'001','excepted':'ok'},
{'case_id':4,'case_title':'用例4','url':'www.baidu.com/"','data':'004','excepted':'ok'},
{'case_id':2,'case_title':'用例2','url':'www.baidu.com/"','data':'002','excepted':'ok'},
{'case_id':3,'case_title':'用例3','url':'www.baidu.com/"','data':'003','excepted':'ok'},
{'case_id':5,'case_title':'用例5','url':'www.baidu.com/"','data':'005','excepted':'ok'}
]
答案:
def work2_1(cases):
# 创建一个新的列表
new_cases = []
# 获取新数据的key
title = cases[0]
# 遍历所有的数据
for data in cases[1:]:
dic ={}
for i in range(len(title)):
dic[title[i]] = data[i]
# 将得到的字典,加入列表中
new_cases.append(dic)
#返回转换之后的结果
return new_cases
23、编程题:
数据类型转换操作有一组用例数据如下:
cases = [
["case_id","case_title","url","data","excepted"],
["1","用例1","www.baidu.com/","001","ok"],
["4","用例4","www.baidu.com/","004","ok"],
["2","用例2","www.baidu.com/","002","ok"],
["3","用例3","www.baidu.com/","003","ok"],
["5","用例5","www.baidu.com/","005","ok"],
]
要求二:将case_id大于3 的用例数据过滤出来,得到如下结果
res = [
{'case_id':4,'case_title':'用例4','url':'www.baidu.com/"','data':'004','excepted':'ok'},
{'case_id':5,'case_title':'用例5','url':'www.baidu.com/"','data':'005','excepted':'ok'}
]
答案:
def work2_2(cases):
# 创建一个新的列表
new_data = []
# 遍历所有的数据
for data in cases:
if data ['case_id'] > 3:
# 将得到的字典,加入列表中
new_data.append(data)
# 返回转换之后的结果
return new_data
24、小明带了一笔钱出去旅游,出门的第一条花了一半,加10元,往后的每一天都花之前剩下的一半,加10元,第八天的早上小明只剩下了10元钱,写一段代码,计算小明出去的时候带了多少钱?
def work3():
# 第八天早上 剩下10元
money = 10
for i in range(7):
print ('第{}天早上的财产为:{}'.format(8 - i,money))
money = (money + 10) * 2
print ('小明第一天早上出门的金额为:',money)
# 结果为 3820
25、请写一段代码,向http://httpbin.org/json这个API发送一个get请求。并打印响应结果里的title字段的值(最外层的title值),和slides字段里元素的个数。输出格式:title:xxx,slides count:x
#运行示例:
{
"slideshow": {
"author": "Yours Truly",
"date": "date of publication",
"slides": [
{
"title": "Wake up to WonderWidgets!",
"type": "all"
},
{
"items": [
"Why <em>WonderWidgets</em> are great",
"Who <em>buys</em> WonderWidgets"
],
"title": "Overview",
"type": "all"
}
],
"title": "Sample Slide Show"
}
}
答案:
import requests
res = requests.get(**"http://httpbin.org/json"**)
res_obj = res.json()
title_value = res_obj[/*"slideshow"**][**"title"**]
slide_count = len(res_obj[**"slideshow"**][**"sildes"**])
print(**"title:{},slides count:{}"**.format(title_value,slide_count))