Python练习题 03

作业1:判断某一个字符串是否是小数

方法1

 def is_float(string):
     string1 = str(string)
     if string1.count('.') > 1:  #检测字符串小数点的个数
         return False
     elif string1.isdigit():     #检测字符串是否只由数字组成,如果字符串只包含数字则返回 True 否则返回 False
         return False
     else:
         new_string = string1.split(".") #按小数点分割字符
         first_num = new_string[0]       #取分割完之后这个list的第一个元素
         # 判断负号的个数和first_num第一个元素是不是"-",如果负号个数等于1并且firs_num第一个元素是"-",则合法
         if first_num.count( '-') == 1 and first_num[0] == '-':
             first_num = first_num.replace('-','')
         if first_num.isdigit() and new_string[1].isdigit():
             return True
         else:
             return False
 if __name__ == '__main__':
     while True:
         print("输入Q退出程序")
         string = input("判断某一个字符串是否是小数,请输入一个字符串:")
         if string.upper() == 'Q':
             print("你退出了程序")
             break
         print(is_float(string))
         print('\n')

方法2

 def is_float(s):
     s=str(s)
     if  s.count('.')==1: #检测字符串小数点的个数
         new_s=s.split('.') #按小数点分割字符
         left_num=new_s[0]   #取分割完之后这个list的左边的元素
         right_num=new_s[1]  # 取分割完之后这个list的右边的元素
         if right_num.isdigit(): #如果右边的元素是整数
            if left_num.isdigit():   #如果右边的元素是整数
                return True
            elif left_num.count('-')==1 and left_num.startswith('-'): #左边元素有一个负号,并且负号在字符串开始位置
                tmp_num=left_num.split('-')[-1]
                if tmp_num.isdigit():
                    return True
     return False
 if __name__ == '__main__':
     while True:
         print("输入Q退出程序")
         string = input("判断某一个字符串是否是小数,请输入一个字符串:")
         if string.upper() == 'Q': #转换成大写字母
             print("你退出了程序")
             break
         print(is_float(string))
         print('\n')

作业2:将列表中的字符串全部用下划线连接起来

 list = ['不','忘','初','心','牢','记','使','命']
 print(list)
 a = list[0]
 for i in list[1:]:
     # a += "_" + i
     a = a + '_' + i
 print(a)

作业3:输出一个列表,列表中是1-100之间的偶数

 list=[]
 sum = 0
 for i in range(1,101):
     if i % 2 == 0:
         list.append(i)
 print("1-100之间的偶数为:",list)

作业4:将列表里面的值(0-100)按照从大到小的顺序打印出来

 import random
 def num_sort(n):
     list = []
     for i in range(n):
         num = random.randint(0, 100)    #生成[a,b]之间的整数;
         # print(num)
         list.append(num)
     print("没排序列表:",list)
     list.sort(reverse=True)
     '''
     sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
     list.sort(cmp=None, key=None, reverse=False)
     cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
     key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
     reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
     该方法没有返回值,但是会对列表的对象进行排序。
     '''
     return list
 if __name__ == '__main__':
     n = int(input("请输入列表值的个数n:"))
     print("排序后列表:",num_sort(n))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值