python 训练(适合初学者)

可以把下面的代码粘到pycharm里看,跑着看看结果就理解很多,不排版了

> #coding utf-8
> # 1.在代码中将如下信息备注到py文件中
> #
> # abcdefghijklmn
> # opqrstuvwxyz
> # 这是一段注释
> # 可以换行的注释
> #
> # 数据类型练习
> #
> # 1.将自己的”姓名”、”专业”、”学号”、”年龄”、”是否是新生”保存到自定义变量中,并打印在一句话中,,注意需要使用字符串格式化输出。 str_name = "Lsl" str_maj = "CS" str_numb = 132132132 str_age = 19
> str_isFresh = True sentence = r"I'm %s, a %d-year-old boy whose school
> number is %d, and I major in %s. " \
>            r"It's %s that I'm a freshman." %(str_name,str_age,str_numb,str_maj,str_isFresh) print(sentence)
> 
> 
> # 运算符练习
> # 一下所有题的结果都保存到不同变量中再打印结果
> # 1.代码计算  10205410 a = 10 + 20 - 5 * 4 / 10 print (a)
> # 2.代码计算忽略小数部分  1002033 b = 100 * 20 // 33 print (b)
> # 3.代码计算  3.143.14 c = 3.14 * 3.14 print (c)
> # 4.代码计算 求1003的余数 d = 100 % 3 print (d)
> # 5.将前一题,第四题的结果作为6的多少次幂计算得到最终结果 e = 6 ** d print (e)
> # 6.打印一行字符串,内容为20个”abc” str_a = "abc" print (str_a*20)
> # 7.有一个变量a等于100,将a的值加100后的结果再次保存到变量a中 aa = 100 aa = aa + 100 print (a)
> # 8.代码计算第一题的结果是否大于第二题的结果 if a>b:
>     print("Yes") else:
>     print("No")
> # 9.如果分数小于30分输出”你咋学习这么不认真的呢?”,如果分数在31分和59分之间输出”你需要再在努力一下”,只要成绩大于60分输出”你的成绩是多少分,成绩及格”,如果成绩在6080之间再输出”你再努力一点就是学霸”,如果成绩在8190再输出”学霸你好”,如果成绩大于90再输出”哇,学神,抱大腿”
> grade = 60 if grade <= 30:
>     print('你咋学习这么不认真的呢?') elif grade < 60:
>     print('你需要再在努力一下') else:
>     print('你的成绩是%d分,成绩及格'%grade)
>     if grade <= 80:
>         print('你再努力一点就是学霸')
>     elif grade <=90:
>         print('学霸你好')
>     else:
>         print('哇,学神,抱大腿')
> #1.累加1100之间,求所有3的倍数相加后的和 sum = 0 for i in range(1,101):
>     if i % 3 == 0 :
>         sum +=i print(sum)
> # #2. 打印九九乘法表 for i in range(1,10):
>     for j in range(1,i+1):
>         print ( j , '*' , i ,'=' , j*i,end = " ")
>     print("")
> # #3.打印如下直角三角形
> # '''
> # *
> # **
> # ***
> # ****
> # *****
> # ******
> # *******
> # ********
> # ''' for i in range(1,9):
>     print('*'*i)
> # #4.打印如下直角三角形
> # '''
> # **
> # ****
> # ******
> # ********
> # **********
> # ************
> # **************
> # ****************
> # ******************
> # ''' for i in range(1,10):
>     print('*'*2*i)
> 
> # #5.有一个字符串”HelloWorld”按如下格式打印,每行打印一个字符,(提示:while> # H
> # e
> # l
> # l
> # o
> # W
> # o
> # r
> # l
> # d str_Hello = "HelloWorld" i =0 while i < len(str_Hello):
>     print(str_Hello[i])
>     i += 1
> 
> # #6.截取字符串”12345678”中的”345” str_b = "12345678" print(str_b[2:5])
> 
> # #7.检索如下字符串,是否包含密码password,如果包含,则截取password对应的密码。
> # ”userName:123456,password:abcdef,email:12345678@qq.com,phoneNumber:13112345678> str_c =
> "userName:123456,password:abcdef,email:12345678@qq.com,phoneNumber:13112345678"
> group = str_c.split(',') for i in range(len(group)):
>     if group[i].find("password") != -1 :
>         pos = group[i].find(':')
>         print(group[i][pos+1:len(group[i])])
> 
> # #8.将如下字符串中”username”替换为”用户名”,”password”替换为”密码”,”email”替换为”邮箱”,”phoneNumber”替换为”电话号码”,并将最终字符串打印
> # ”userName:123456,password:abcdef,email:12345678@qq.com,phoneNumber:13112345678> str_d =
> 'userName:123456,password:abcdef,email:12345678@qq.com,phoneNumber:13112345678'
> str_d = str_d.replace("userName","用户名") str_d =
> str_d.replace('password', '密码') str_d = str_d.replace('email', '邮箱')
> str_d = str_d.replace('phoneNumber', '电话号码') print(str_d)
> #
> # #循环练习
> # #forwhile分别实现打印如下内容
> # **********
> # *********
> # ********
> # *******
> # ******
> # *****
> # ****
> # ***
> # **
> # *
> # for i in range(10):
>     print('*'*(10-i))
> 
> j = 10 while j > 0:
>     print('*'*j)
>     j -= 1
> #
> # #列表练习
> # #名词:元素、下标
> # #1.创建一个列表,列表元素为:'one','two','three','four','five'。并打印下标为3的元素
> # mylist=['one','two','three','four','five',1,2,3,4,5] list1 = ['one','two','three','four','five'] print (list1[3])
> 
> 
> # #2.创建两个列表,第一个列表元素为:1,2,3,4,5。第二个列表元素为:'a','b','c','d','e'。拼接上题中创建的列表和本题中的两个列表,生成新的列表。
> # #最终元素内容为:'one','two','three','four','five',1,2,3,4,5,'a','b','c','d','e'> list2 = [1, 2, 3, 4, 5] list3 = ['a','b','c','d','e'] list4 = list1 +
> list2 + list3 print(list4)
> # #3.打印上题新列表的元素个数,修改列表下标为7的元素,改为'new',并打印结果。修改列表中第4到第7的元素为:'aaa','bbb','ccc',并打印结果。
> # # 删除下标为9的元素,并打印结果。删除第3到第5个元素,并打印结果。 print(len(list4)) list4[7] ="new"; print(list4) list4[3:7] = ['aaa','bbb','ccc'] print(list4) del list4[9] print(list4) del list4[2:5] print (list4)
> 
> # #4.将新元素'new_one'追加到上题列表的尾部,并打印结果。将新元素'new_two'插入到第3个元素和第4个元素中间,并打印结果。将整个列表逆序排列,并打印结果。
> list4 += 'new_one' print (list4) list4.insert(3,'new_two') print
> (list4) list4.reverse() print (list4)
> 
> # #5.创建一个字符串myStr = "one,two,three,four,five,six,seven",
> # ## 将字符串分割,最后保存到一个列表中,列表元素为:'one','two','three','four','five','six','seven',并打印结果
> myStr = "one,two,three,four,five,six,seven" list5 = myStr.split(',')
> print(list5)
> # #元组练习
> # #1.新建一个元组,元素内容为:'a1','b2','c3','d4','e5','f6',打印元组长度。遍历元素,每行打印一个元素,要求打印结果如下所示:
> # a1
> # b2
> # c3
> # d4
> # e5
> # f6 tuple1=('a1','b2','c3','d4','e5','f6') print(len(tuple1)) for i in range(len(tuple1)):
>     print(tuple1[i])
> # #2.简述元组与列表的区别 ''' 答:元组不能修改,列表可以修改'''
> 
> # #3.for循环打印第1项到第100项的斐波那契数列,并保存到一个元组中。
> # #斐波那契数列:112358132134...,前两个元素都为1,后一个元素为前两个元素的和。 list6 = [1, 1] for i in range(2, 101):
>     x = list6[i-2] + list6[i-1]
>     print(x)
>     list6 += [x] tuple2 = (tuple)(list6) print(tuple2)
> # #字典练习
> # #1.将如下信息,保存为一个字典
> # #"userName:123abc,password:abcdef,email:12345678@qq.com,phoneNumber:13112345678"
> # #打印所有key。打印所有value。两种方式打印userName的值。修改key为password的值,将字符改为大写,替换原来的值。
> 
> dict1 =
> {'userName':'123abc','password':'abcdef','email':'12345678@qq.com','phoneNumber':'13112345678'}
> for keys in dict1.keys():
>     print(keys) for val in dict1.values():
>     print(val) print(dict1['userName']) print(dict1.get('userName')) dict1['password'] = dict1['password'].upper() print(dict1['password'])
> 
> # #2.新建两个元组,一个元组内的元素为:1,2,3,4,5,6,7,8,9。一个元组内的元素为:aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii。
> # #将两个元组的内容合并到一个字典中,最终字典内容为:1:aaa,2:bbb,...,9:iii,并打印。删除字典中的key为5的键和值。
> # # 循环遍历此字典,将key小于等于5的保存到一个新字典中,将key大于5的保存到另一个新字典中。 tuple_a = (1, 2, 3, 4, 5, 6, 7, 8, 9) tuple_b = ('aaa', 'bbb', 'ccc', 'ddd', 'eee',
> 'fff', 'ggg', 'hhh', 'iii') dict_t = dict(zip(tuple_a, tuple_b))
> 
> print(dict_t) del dict_t[5] print(dict_t) dict_new1 = {} dict_new2 =
> {} for i in dict_t.keys():
>     if  i <= 5:
>         dict_new1[i] = dict_t[i]
>     else:
>         dict_new2[i] = dict_t[i] print(dict_new1) print(dict_new2)
> # #3.新建一个空字典,依次追加如下内容:
> # "姓名"对应的值"张三"
> # "学号"对应值123
> # "我的数字列表"对应的值为一个元组(10,20,30,40,50,60,70,80,90)
> # "我的爱好"对应的值为一个列表["唱歌","跳舞","看书","游泳","打球"]
> # #修改"我的爱好"对应的值,将"跳舞"删除掉,并保存打印。
> # #修改"我的数字列表"对应的值,去掉小于等于30的数字,并保存打印。
> # dict_inf = {} dict_inf['姓名'] = '张三' dict_inf['学号'] = 123 dict_inf['我的数字列表'] = (10, 20, 30, 40, 50, 60, 70, 80, 90)
> dict_inf['我的爱好'] = ["唱歌", "跳舞", "看书", "游泳", "打球"]
> 
> dict_inf['我的爱好'].remove('跳舞') print(dict_inf['我的爱好']) listy = [] listx
> = list(dict_inf['我的数字列表']) for i in listx:
>     if i > 30:
>         listy += [i] dict_inf['我的数字列表'] = tuple(listy) print(dict_inf['我的数字列表'])
> #
> #
> # #函数练习
> # #1. 写一个函数,实现功能为传入一个字符串,将字符全部转换为大写,并且倒序排列后返回字符串。 def func_a(x):
>     x = x.upper()
>     y = ''
>     for i in range(len(x)):
>         y += x[len(x) - 1 - i]
>     return y
> # #2. 写一个函数,实现功能为传入一个元素都为数字的列表,将列表中小于10,大于100的数字去掉,返回修改后的列表。
> # def alter(x):
>     y = []
>     for i in x:
>         if i >= 10 and i <= 100:
>             y += [i]
>     return y
> # #3. 写一个函数,实现功能为传入一个元素都为数字的列表,将列表中重复的数字删除,返回修改后的列表。(使用循环遍历元素实现) def delrepeat(x):
>     y = []
>     for i in x:
>         if y.count(i) == 0:
>             y+= [i]
>     return y
> 
> #     y = []
> #     for i in x:
> #         if y.count(i) == 0:
> #             y += [i]
> #     return y
> # # #4. 写一个函数,实现功能为传入两个元组,组合两个元组成一个新的元组,并返回元组。 def combi(x,y):
>     list_x = list(x)
>     list_y = list(y)
>     list_z = list_x + list_y
>     return tuple(list_z)
> # #5. 写一个函数,实现功能为传入一个元素都为数字的元组,使用循环查找最大值,并返回最大值。 def maxtuple(x):
>     best = 0
>     for i in x:
>         if i>best:
>             best = i
>     return best
> # #6. 写一个函数,实现功能为传入一个元素都为数字的列表,使用循环将遍历方式将列表按从小到大的顺序排列后返回排序后的列表。 def sortlist(x):
>     for i in range(0, len(x) - 1):
>         best = 0
>         pos = i
>         for j in range(i, len(x)):
>             if best <= x[j]:
>                 pos = j
>                 best = x[j]
>         tmp = x[i]
>         x[i] = x[pos]
>         x[pos] = tmp
>     return list(reversed(x))
> #
> # #7. 写一个函数,要求传入字符串"userName:123456|password:abcdef|email:12345678@qq.com|phoneNumber:13112345678",实现字符串切割,返回一个键值对的字典。
> def f(s):
>     lista=s.split('|')
>     dicta={}
>     for i in lista:
>         num =i.find(':')
>         print(num)
>         dicta[i[0:num]] = i[num + 1:len(i)]
>     return dicta
> 
> # #8. 写一个函数,实现功能为传入一个大于1的整数n,求1*2*3*...*n的结果,并返回。(求阶乘) def factorial(x):
>     a = 1
>     for i in range(1,x+1):
>         a *= i
>     return a
> # #9. 写一个函数,实现功能为传入一个元素都为数字的列表,要求将列表中所有数字都四舍五入且保留两位小数,并将修改后的列表返回。 def little(x):
>     y = []
>     for i in x:
>         y += [round(i+0.001,2)]
>     return y
> # #10. 请将如下函数改为lambda匿名函数。
> # def fun_A(x,y=2):
> #     return x*y functx = lambda x,y=2:x*y
> # #11. 请将如下lambda匿名函数改为普通函数
> # lambda x:x if x%2 else None def fun_B(x):
>     if x%2:
>         return x
>     else:
>         return None



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值