python_4

s = input()
d = {'upper':0, 'lower':0}
for i in s:
    if i.isupper():
        d['upper'] += 1
    elif i.islower():
        d['lower'] += 1
    else:
        pass
print('upper:', d['upper'])
print('lower:', d['lower'])

计算给定句子的大小写字母个数

注意点:

  1. isupper()和islower()函数的应用

------------------------------------------------------------------------------------------------------------------------

a = input()
n1 = int('%s'%a)               #n1 = int(a)
n2 = int('%s%s'%(a,a))         #n2 = int(a+a)
n3 = int('%s%s%s'%(a,a,a))     #n3 = int(a+a+a)
n4 = int('%s%s%s%s'%(a,a,a,a)) #n4 = int(a+a+a+a)
print(n1 + n2 + n3 + n4)

计算a + aa + aaa + aaaa

注意点:

  1. 对于字符串来说,+ 为直接拼接

  2. %s的应用

---------------------------------------------------------------------------------------------------------------------

accept = input()
value = [x for x in accept.split(',') if int(x)%2]
print(','.join(value))

找出一列数字中的奇数

注意点:

  1.   value = [x for x in accept.split(',') if int(x)%2]  对list赋值的使用

---------------------------------------------------------------------------------------------------------------------

account = 0
while True:
    s = input()
    if not s:
        break
    a = s.split(' ')
    a1 = a[0]
    a2 = int(a[1])
    if(a1 == 'D'):
        account += a2
    elif(a1 == 'W'):
        account -= a2
    else:
        pass
print(account)

存取款后银行账户资金变动

注意点:

  1. 无限循环的设置技巧

-----------------------------------------------------------------------------------------------------------------

import re 
def pas_test(str):
    if len(str) < 6 or len(str) > 12:
        return False
    elif not re.search("[a-z]", str):
        return False
    elif not re.search("[0-9]", str):
        return False
    elif not re.search("[A-Z]", str):
        return False
    elif not re.search("[$#@]", str):
        return False
    else:
        return True
accept = input()
pas = [x for x in accept.split(',')]
for i in pas:
    if pas_test(i):
        print(i)

密码有效性的判断

注意点:

  1. 函数的使用使得代码的可读性提高

  2. re模块的使用

  3. re.search()函数的使用

------------------------------------------------------------------------------------------------------------------

from operator import itemgetter 
l = []
while True:
    ac = input()
    if not ac:
        break
    mes = [x for x in ac.split(',')]
    l.append(tuple(mes))
print(sorted(l, key = itemgetter(0,1,2)))

按照优先级进行排序

注意点:

  1. sorted()函数是作用于list的

  2. operator模块的itemgetter()函数是作用于元组的,因此将元组作为列表的一个元素

-----------------------------------------------------------------------------------------------------------------

def iternum(n):
    i = 0
    while i<n:
        if not i%7:
            yield i
        i += 1
for i in iternum(100):
    print(i)

利用generator迭代0-n之间能被7整除的数

注意点:

  1. 对于迭代的认识及其好处

  2. for循环隐式调用了next()函数

-------------------------------------------------------------------------------------------------------------------

import math
pos = [0,0]
while True:
    ac = input()
    if not ac:
        break
    s = ac.split(' ')
    step = int(s[1])
    if s[0] == 'UP':
        pos[1] += step
    if s[0] == 'DOWN':
        pos[1] -= step
    if s[0] == 'LEFT':
        pos[0] += step
    if s[0] == 'RIGHT':
        pos[0] -= step
print(round(math.sqrt(pos[0]**2 + pos[1]**2)))

计算直线距离

注意点:

  1. round()函数的使用

  2. 平方不是^2, 而是**2

 

posted @ 2019-02-01 14:47  Freddy520  阅读(148)  评论(0编辑  收藏  举报