(1)python基础语法。
(1)下面两段代码输出的结果相同么?请解释原因。
① x=4,y=5,print(x+y) ② x='4',y='5', print(x+y)
不相同,数据类型不同
(2)‘10/3',‘10//3’和'10%3'结果相同么?请说明原因。
print(10/3)
print(10//3)
print(10%3)
不相同,三个结果分别是除法、取整数部分、求模
(3)string1='I'm a student.' 。print(string1)结果会报错么?如何修改string1使其得到正确的输出?
string1 = "I'm a student"
print(string1)
(4) a = 3,str(a*3) + str(a)*3的输出是什么?
a = 3
print(str(a*3)+str(a)*3)
(5)my_string = 'this is my string', 如何查看这个字符串长度?
my_string = 'this is my string'
print(len(my_string))
(6)a,b = 4,5,a大于b 或 b大于等于5。请写出这里逻辑运算的代码,并查看输出会是什么。
a, b = 4, 5
print(a > b)
print(b >= 5)
print((a>b)|(b>=5))
(7)'='和'=='分别表示什么含义?print(2==5)输出什么结果?属于什么类型数据?
'='表示赋值,'=='表示等值判断,print(2==5)输出False,属于布尔类型
(8)计算:100%(2+2)**3//5
print(100%(2+2)**3//5)
print(100 % ((2+2)**3) // 5)
(9)a,b = 4,5,a *= b,a=?
a,b = 4,5
a *= b
print(a)
(10)int(3.14159)==float(3)会输出什么结果?为什么?type(int(3.14159))==type(float(3))的结果又是什么?
print(int(3.14159)==float(3))
print(type(int(3.14159))==type(float(3)))
print(int(3.14159))
print(float(3))
print(3 == 3.0)
(2)列表,字典,集合
(1)L=[1,2,3,4,1,4,5,6],请完成:①删除列表中的重复元素并输出一个集合;②将7添加到集合中;③将集合转化为列表,删除元素3.
L=[1,2,3,4,1,4,5,6]
a = set(L)
print(a)
a.add(7)
print(a)
a = list(a)
a.remove(3)
print(a)
这里可能会遇到print(a.add(7))输出为None的问题,这是因为add()函数没有返回值,对于print()来说就相当于没有参数输入
(2)dog = ["tom", "jack", "Collie", "Marry"], kitty = "Marry", 如何判断 kitty 是否是 dog 中的一员?
kitty = "Marry"
dog = ["tom", "jack", "Collie", "Marry"]
if kitty in dog:
print("kitty是dog中的一员")
else:
print("kitty不是dog中的一员")
(3)dog = ["tom", "jack", "Collie", "Marry"],将dog逆序。
dog = ["tom", "jack", "Collie", "Marry"]
dog.reverse()
print(dog)
(4)L=["former", "latter", "starboard"],请完成:为L在末端添加一个元素“port”。
L=["former", "latter", "starboard"]
L.append("port")
print(L)
(5)L=[1,2,3,1,5,11,3,6,4,2,5,8,4,2],计算L的最值,和加和。
L=[1,2,3,1,5,11,3,6,4,2,5,8,4,2]
print(max(L))
print(min(L))
print(sum(L))
(6)cube:length:40,width:40,height:40, 请创建一个字典,包括cube的所有信息,并向字典中添加条目“color”和对应值"red",删除属性height,修改属性width为20.
cube = {'length': 40, 'width': 40, 'height': 40}
cube['color'] = 'red'
cube.pop('height')
cube['width'] = 20
print(cube)
(7)set_a = {1, 5, 10} set_b = {1, 10, 12} 找出set_a和set_b中共有的元素(交集)。
set_a = {1, 5, 10}
set_b = {1, 10, 12}
print(set_a & set_b)
(8)从1到10中选出所有的奇数。
number = [x for x in range(1,10) if x%2 == 1]
for i in number:
print(i)
(9)将字典变为两个元素一一对应的列表,一个只含有关键字,另一个只含有值。 如:{'a': 1, 'b': 2}变为['a', 'b'], [1, 2]
dict = {'a': 1, 'b': 2}
key_ = dict.keys()
val_ = dict.values()
print(key_, val_)
(3)条件判断,循环和函数
(1)L=[1,2,'','my',3,'name','is',4,'katty'],利用循环语句和判断条件,分别输出列表中的字符串和数字。
L=[1,2,'','my',3,'name','is',4,'katty']
int_ = []
string = ''
for x in L:
if type(x) == int:
int_.append(x)
elif type(x) == str:
string = string + ' ' + x
print(string.lstrip())
for i in int_:
print(i)
(2)利用循环语句输出1到50中5的倍数,将其存放到一个列表中。
list_ = []
for x in range(1,51):
if x % 5 == 0:
list_.append(x)
print(list_)
# 列表表达式
list_3 = [x for x in range(1,51) if x % 5 == 0]
print(list_3)
(3)定义一个判断字符串的长度是否大于10的函数。
def str_len(x):
if len(x) > 10:
print("字符串的长度大于10")
else:
print("字符串的长度小于等于10")
str_len('hdsuauyeuueso')
(4)定义一个求解阶乘的函数。
def factorial(x):
a = 1
while x >= 1:
a *= x
x -= 1
return a
print(factorial(6))
(5)利用列表生成式,生成1-5的阶乘。
fac_1 = [factorial(x) for x in range(1,6)]
print(fac_1)
(6)利用函数和列表生成式,标记一个列表,奇数标记为1,偶数标记为2,并且统计一下奇数和偶数的数量。 例如:[1,4,2,4,2,9,5],得到[1,2,2,2,2,1,1]
def list_analys(lst):
a = []
ji,ou = 0,0
for i in lst:
if i % 2 == 1:
a.append(1)
ji += 1
elif i % 2 == 0:
a.append(2)
ou += 1
return a, ji, ou
print(list_analys([1,4,2,4,2,9,5]))
def f(x):
if x % 2 == 1:
return 1
elif x % 2 == 0:
return 2
list_2 = [f(x) for x in [1,4,2,4,2,9,5]]
print(list_2)
ji = [a for a in list_2 if a % 2 == 1]
print(len(ji))
ou = [b for b in list_2 if b % 2 == 0]
print(len(ou))