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