”’y因为截图会使排版比较乱,故没有截图‘’‘
一、字符串:
1、创建:(1)单引号;(2)双引号,需转义字符;(3)三引号
2、特性:(1)索引;
(2)切片[start,stop,step];start 默认值为0,stop默认值为字符串长度,step默认长度为1;
(3)连接 + a+b
(4)重复 * 2*”a” ==>> aa
(5)成员操作符(某成员在不在字符串中)in , not in
3、字符串是可迭代对喜像,可通过for 实现
4、常用方法:
(1)判断组成: s.istitle判断是否是一个标题;s.isalnum判断是否为字母或数字s.isalpha判断是否为字母;s.isdigit判断是否为数字;s.islower判断小写字母;s.isspace判断空格;s.istitle判断首字母是否大写;s.isupper判断是否是大写字母
(2)判断以什么开头,结尾 s.startwith(“hh”) s.endwith()
(3)去除字符串中的空格,左边的,右边的s.strip() s.lstrip() s.rstrip()主要用在输入中;s.replace()可以间接删除; s.replace(’ ‘,”)
(4)字符串对齐,中间对齐,左右对齐 s.center(40,’‘) s.ljust(40,’‘) s.rjust(40,’‘) 在40个中居中,居左。居右
(5)以指定字符分割字符串 s.split(‘.’)
(6)以指定字符连接a中的字符串 ‘+’.join(a)
(7)cmp比较字符ASCLL码大小 ,len 字符串长度,enumerate(枚举),zip(s1,s2)把s1和s2对应起来
二、元组(tuple): 一个容器,任何数据类型都可以放在这个容器里面;
1、创建:
(1)赋值的方法t = (1, 1.0, 2j, True, (1,2,3))
(2)工厂方法t = tuple();
创建单个元组,要在元素后加’,’如:t1 = (1,)
2、相关操作:
(1)索引,正向t[0];反向t[-1];
(2)切片,t[:2]
(3)连接, + ;t1+t2
(4)重复, * ; t*3
(5)成员操作 in ,not in
allow_ips = (‘172.25.254.1’, ‘172.25.254.12’, ‘172.25.254.13’)
for ip in allow_ips:
print ip
(6)内置函数:cmp , max , min ,enumerate , zip(t1,t2)…
ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')
for i,j in enumerate(ips):
print i,j
username = ("user1", "user2", "user3")
password = ("123", "456", "789")
zip(username, password)
练习题
1. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
#!/usr/bin/env pythonding
#encoding=utf-8
lirun = int(input("请输入本月利润:"))
if lirun <= 100000:
jiangjin = lirun * 0.1
elif 100000 < lirun <= 200000:
jiangjin = 100000*0.1+(lirun-100000)*0.075
elif 200000 < lirun <= 400000:
jiangjin = 100000*0.1+100000*0.075+(lirun-200000)*0.05
elif 400000 < lirun <= 600000:
jiangjin = 100000*0.1+100000*0.075+200000*0.05+(lirun-400000)*0.03
elif 600000 < lirun <= 1000000:
jiangjin = 100000*0.1+100000*0.075+200000*0.05+200000*0.03+(lirun-600000)*0.015
else:
jiangjin = 100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(lirun-1000000)*0.01
print("本月奖金为:%d" %jiangjin)
- 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
import math
for i in range(-99,10000):
m = int(math.sqrt(i+100))
if m**2 == (i+100) :
n = int(math.sqrt(i+268))
if n**2 == (i+268):
print(i)
(2017-小米-句子反转)
题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子
示例1:
- 输入
hello xiao mi
- 输出
mi xiao hello
#!/usr/bin/env python
#encoding=utf-8
x = raw_input("请输入字符串:")
print((x.split('')[::-1]))
(2017-好未来-笔试编程题)–列表练习
题目描述:
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:
每个测试输入包含2个字符串输出描述:
输出删除后的字符串示例1:
输入
They are students.
aeiou
输出
Thy r stdnts.
#!/usr/bin/env python
#encoding=utf-8
x = raw_input("请输入第一个字符串:")
y = raw_input("请输入第二个字符串:")
z = []
for i in list(x) :
if i not in list(y ):
z.append(i)
print(''.join(z))
- # (2017-网易-笔试编程题)-字符串练习
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
列可能不连续。
例如:
小易不喜欢”ABBA”,因为这里有两个连续的’B’
小易不喜欢因为这里包含子序列”THTH”“THE,
输入描述:
输入为一个字符串,都由大写字母组成,长度小于100输出描述:
如果小易喜欢输出”Likes”,不喜欢输出”Dislikes”
示例1 :
输入
AAA
输出
Dislikes
你要回答小易是否会喜欢这个单词TXH”
# !/usr/bin/env python
#encoding=utf-8
x = raw_input("请输入一个长度小于100的字符串:")
if x.isupper():
for i in range(len(x)-1):
if x[i] != x[i+1]:
continue
print('Likes')
else:print('Dislikes')
else:print('Dislikes')