第一次课作业

(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))

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值