zoukankan      html  css  js  c++  java
  • 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 答案 
  • 相关阅读:
    Java 执行
    Java 反射
    Mysql 日常
    Java 引用
    Mysql insert on update
    Java Mail 异常
    HDU_5456_数位dp
    HDU_4734_数位dp
    POJ_1221_DP
    POJ_1050_最大子矩阵
  • 原文地址:https://www.cnblogs.com/oito/p/11206840.html
Copyright © 2011-2022 走看看