作业1:判断某一个字符串是否是小数
1 def is_float(string):
2 string1 = str(string)
3 if string1.count('.') > 1: #检测字符串小数点的个数
4 return False
5 elif string1.isdigit(): #检测字符串是否只由数字组成,如果字符串只包含数字则返回 True 否则返回 False
6 return False
7 else:
8 new_string = string1.split(".") #按小数点分割字符
9 first_num = new_string[0] #取分割完之后这个list的第一个元素
10 # 判断负号的个数和first_num第一个元素是不是"-",如果负号个数等于1并且firs_num第一个元素是"-",则合法
11 if first_num.count( '-') == 1 and first_num[0] == '-':
12 first_num = first_num.replace('-','')
13 if first_num.isdigit() and new_string[1].isdigit():
14 return True
15 else:
16 return False
17 if __name__ == '__main__':
18 while True:
19 print("输入Q退出程序")
20 string = input("判断某一个字符串是否是小数,请输入一个字符串:")
21 if string.upper() == 'Q':
22 print("你退出了程序")
23 break
24 print(is_float(string))
25 print('\n')
作业 1 答案 1
1 def is_float(s):
2 s=str(s)
3 if s.count('.')==1: #检测字符串小数点的个数
4 new_s=s.split('.') #按小数点分割字符
5 left_num=new_s[0] #取分割完之后这个list的左边的元素
6 right_num=new_s[1] # 取分割完之后这个list的右边的元素
7 if right_num.isdigit(): #如果右边的元素是整数
8 if left_num.isdigit(): #如果右边的元素是整数
9 return True
10 elif left_num.count('-')==1 and left_num.startswith('-'): #左边元素有一个负号,并且负号在字符串开始位置
11 tmp_num=left_num.split('-')[-1]
12 if tmp_num.isdigit():
13 return True
14 return False
15 if __name__ == '__main__':
16 while True:
17 print("输入Q退出程序")
18 string = input("判断某一个字符串是否是小数,请输入一个字符串:")
19 if string.upper() == 'Q': #转换成大写字母
20 print("你退出了程序")
21 break
22 print(is_float(string))
23 print('\n')
作业 1 答案 2 升级版
作业2:将列表中的字符串全部用下划线连接起来
1 list = ['不','忘','初','心','牢','记','使','命']
2 print(list)
3 a = list[0]
4 for i in list[1:]:
5 # a += "_" + i
6 a = a + '_' + i
7 print(a)
作业 2 答案
作业3:输出一个列表,列表中是1-100之间的偶数
1 list=[]
2 sum = 0
3 for i in range(1,101):
4 if i % 2 == 0:
5 list.append(i)
6 print("1-100之间的偶数为:",list)
作业 3 答案
作业4:将列表里面的值(0-100)按照从大到小的顺序打印出来
1 import random
2 def num_sort(n):
3 list = []
4 for i in range(n):
5 num = random.randint(0, 100) #生成[a,b]之间的整数;
6 # print(num)
7 list.append(num)
8 print("没排序列表:",list)
9 list.sort(reverse=True)
10 '''
11 sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
12 list.sort(cmp=None, key=None, reverse=False)
13 cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
14 key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
15 reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
16 该方法没有返回值,但是会对列表的对象进行排序。
17 '''
18 return list
19 if __name__ == '__main__':
20 n = int(input("请输入列表值的个数n:"))
21 print("排序后列表:",num_sort(n))
作业 4 答案
作业5:生成两个列表,第一个列表100-0中的偶数(不包含0)。
1 list1 = []
2 list2 = []
3 count = 1
4 while count<=100:
5 if count%2 == 0:
6 list1.append(count)
7 count = count + 1
8 for i in list1:
9 if i % 3 ==0:
10 list2.append(i)
11 print(list1)
12 print(list2)
作业 5 答案
作业6:li = [1, 3, 4, "kaka", [3, 7, 8, "WaHaHa"], 5, "Sam"]
要求:以小写形式输出每个元素
1 li = [1,3,4,'kaka',[3,7,8,'WaHaHa'],5,'Sam']
2 for ele in li:
3 if type(ele) == list:
4 for ele_lst in ele:
5 if type(ele_lst) == str:
6 print(ele_lst.lower())
7 else:
8 print(ele_lst)
9 else:
10 if type(ele) == str:
11 print(ele.lower())
12 else:
13 print(ele)
作业 6 答案
作业7:把班级学生数学考试成绩录入到一个列表中: 并求平均值。
要求:录入的时候要带着学生姓名和成绩, 输入Q退出录入。例如:aa_66
1 list = []
2 sum = 0
3 count = 0
4 while True:
5 name = input("请输入你的姓名,输入Q退出录入:")
6 if name =='':
7 name = input("请重新输入姓名,输入Q退出录入:")
8 if name.upper() == 'Q':
9 break
10 grade = float(input("请输入你的成绩,输入Q退出录入:"))
11 if grade == '':
12 grade = float(input("请重新输入你的成绩,输入Q退出录入:"))
13 sum = sum + grade
14 count += 1
15 avg = sum / count
16 grade = str(grade)
17 if grade.upper() == 'Q':
18 break
19 list.append(name + "_" + grade)
20 print(list)
21 print("成绩的平均数为:",avg)
作业 7 答案