Python习题002

作业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('
')
作业 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('
')
作业 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 答案 
原文地址:https://www.cnblogs.com/oito/p/11206840.html