例子(持续+)

#-------------list循环------------------
#循环时不要删除list内容的元素。不然结果是不对的。删除时下标错位导致此问题。
#如果非要删除就只能设定2个list这样 读一个list,删一个list这样就不会错位。
import copy
L=[1,1,1,2,3,4,5,6,7,8]
L2=[1,1,1,2,3,4,5,6,7,8]
#L2=copy.deepcopy(L)#深拷贝,这种方式能解决删除错位的问题,会重新弄一块内存地址,查看内存地址方式print(id(list))
#L2=L#浅拷贝,这种方式不能解决删除错位的问题,因内存地址是相同的
for i in L2:
    if i%2!=0:#%是取余数的意思不能0的
        L.remove(i)
print(L)
#----------------------------真、假值-----------------------------------
#----------------非空即真---------------------------------------------
#非空即真,用在字符串、字典、list、元组、变量=None,都可以这么判断
name=input('请输入名字:').strip()
if name:#和name!=''一样,如果是空的就是假,如果是不为空就是真
    print('输入正确')
else:
    print('name不能为空')
#---------------非零即真------------------------------------------
#非零即真,用在int类型或者数字类型
num=input('请输入数字:').strip()
num=int(num)
if num:#和name!=''一样,如果是空的就是假,如果是不为空就是真
    print('输入正确')
else:
    print('不能为0')

 

#-------------------练习,判断小数-------------
# 正小数
# 1小数点左边和右边都是整数
# 2小数点个数为1
# 负小数
# 1小数点左边和右边都是整数
# 2小数点个数为1
# 3负号开头,且仅有一个
#
def c_f(s):
    '''
    这个函数是判断传入的字符串是否为合法小数
    :param s: 传入一个字符串
    :return: True/false
    '''
    s =str(s)

    if s.count('.')==1:
        s_split= s.split('.')#以.分割成一个list
        left,right=s_split#这种left=split[0],right=split[1]一样
        if left.isdigit() and right.isdigit():
            return  True #判断正小数返回true
        elif left.startswith('-') and left[1].isdigit() and right.isdigit():
            return True  #判断负小数返回true
    return False
print(c_f('1.2'))
print(c_f('-1.3'))

 

posted @ 2018-09-10 10:31  test祥  阅读(78)  评论(0)    收藏  举报