13-day13-str

python第二天string 笔记整理

str2 = ['a', 'b', 'c']
print(tuple(str2))
print(*str2)                    # string tuple *

# import getpass
# passs = getpass.getpass('>>>:')  #在pycharm里。这个module是不管用 的

print(1.4e-3) #科学计数法

print(bin(23))
print(oct(23))
print(hex(23))         #进制之间的相互转化

string方法S

strip 去除指定字符,默认为空格

str1 = '*****egon****'
print(str1)
print(str1.strip('*'))

center 剧中显示

str2 = 'hello world'
print(str2.center(16, '#'))

count

str3 = 'hel lo world'
print(str3.count('l'))
print(str3.count('l', 0, 14))  # 1,14起始终止位置

endswith()

startwith()

find()

format() 字符串格式化的 format方法

str6 = '/var/www/html:root:245k'
print('路径:{},属于: {},大小: {}'.format(*str6.split(':')))
print('路径:{0},属于: {1},大小: {0}'.format(*str6.split(':')))

str7 = 'name {},age {} ,salary {}'
str8 = 'name {0},age {2} ,salary {1}'
print(str7.format('cx2c', 18, 12222))
print(str8.format('cx2c', 18, 12222))

index()

str9 = 'hello cx2c'
print(str9.index('c'))
print(str9[str9.index('c')])

isdigit()

istitle()

issupper()

ljust()

lower()

replace()

split()

swapcase

索引

str11 = 'abcdefgh'
print(str11[0:4])     #前半包
print(str11[0:4:2])

作业

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "w.z"
# Date: 2017/6/7

1. 编写for循环,利用索引便利出每一个字符

msg = 'hello egon 666'

for i in msg:
    print(i, end='')

for ii in range(0, msg.__len__()):
    print(msg[ii], end='')

print(msg[0:msg.__len__()])

2.编写while循环,利用索引便利出每一个字符

iii = 0
str2 = 'hello egon 666'
while iii < str2.__len__():
    print(str2[iii], end='')
    iii += 1

3.msg='hello alex'中的alex替换成SB

str3 = 'hello alex'
print(str3.replace('alex', 'SB'))

4.msg='/etc/a.txt|365|get'

将该字符的文件名,文件大小,操作方法切割出来

str4 = '/etc/a.txt|365|get'
print(str4.split('/')[2].split('|')[0])
print(str4.split('/')[2].split('|')[1])
print(str4.split('/')[2].split('|')[2])


msg = '/etc/a.txt|365|get'
print("文件名: %s, 文件大小: %s, 操作方法: %s"  % tuple(msg.split('|')))

5.编写while循环,要求用户输入命令,如果命令为空,则继续输入

tag = True
while tag:
    input_str = input('Please input command: ')
    if input_str.__len__() == 0 or input_str.isspace() is True:
        print('')
    else:
        tag = False
        print(input_str)
        continue

6.编写while循环,让用户输入用户名和密码,如果用户为空或者数字,则重新输入

tag = True
while tag:
    u = input('Please input your name: ')
    if u.__len__() == 0 or u.isdigit() or u.isspace():
        u = input('Please input your name again: ')
    else:
        p = input('Please input your password: ')
        tag = False

7.编写while循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾

tag = True
while tag:
    str7 = input('Please input str: ')
    if str7.startswith('alex'):
        print(str7+'_SB')

8.

1.两层while循环,外层的while循环,让用户输入用户名、密码、工作了几个月、每月的工资(整数),用户名或密码为空,或者工作的月数不为整数,或者

月工资不为整数,则重新输入

2.认证成功,进入下一层while循环,打印命令提示,有查询总工资,查询用户身份(如果用户名为alex则打印super user,如果用户名为yuanhao或者wupeiqi

则打印normal user,其余情况均打印unkown user),退出功能

3.要求用户输入退出,则退出所有循环(使用tag的方式)

tag = True
while tag:
    username = input('username >>>: ')
    password = input('password >>>: ')
    work_months = input('months >>>: ')
    salary = input('salary >>>: ')
    if username.isspace() is True or username.__len__() == 0 or password.isspace() is True or password.__len__() == 0 or work_months.isdigit() is False or salary.isdigit() is False:
        print('input wrong')
    else:
        while tag:
            print('1. 查询总工资')
            print('2. 查询用户身份')
            print('3. 退出登录')
            ss = input()
            if  ss == '1':
                print(int(salary)*int(work_months))
            elif ss == '2':
                username2 = input('P l i p user: ')
                if username2 == 'alex':
                    print('super user')
                elif username2 == 'wupeiqi' or username2 == 'yuanhao':
                    print('normal user')
                else:
                    print('unknow user')
            else:
                tag = False
                continue

 

posted @ 2017-06-07 19:42  ccccdc  阅读(136)  评论(0编辑  收藏  举报