python基础1

python安装

安装python3:
	1.拿到源码安装包(python3.6)--->去官网下载
	2.解压安装包到/opt目录
	3.安装编译过程中需要的依赖包:gcc,zlib,zlib-devel,openssl-devel

在这里插入图片描述
在这里插入图片描述

	3.进入解压的安装包进行编译
		cd /opt/Python-3*
		# --prefix= :安装路径   --with-ssl:添加ssl加密
		./configure --prefix=/usr/local/python3 --with-ssl
		
		安装:make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

	4.添加python3的命令到环境变量中
		echo $PATH :查看系统的环境变量
	#临时添加
		export PATH="python3命令所在的路径:$PATH"
	#永久添加
		echo export PATH="/usr/local/python3/bin:$PATH" >> ~/.bashrc
		source ~/.bashrc
	5.如何检测是否安装成功
		在命令行执行:python3

在这里插入图片描述

第一个python程序

ASCII:
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。

UTF-8:

UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。
如表:
1字节 0xxxxxxx
2字节 110xxxxx 10xxxxxx
3字节 1110xxxx 10xxxxxx 10xxxxxx
4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
UTF-8 (Unicode)编码范围

  • u4e00-u9fa5 (中文)
  • x3130-x318F (韩文)
  • xAC00-xD7A3 (韩文)
  • u0800-u4e00 (日文)
    UTF-8的特点是对不同范围的字符使用不同长度的编码。对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同。UTF-8编码的最大长度是6个字节。

UTF-16:
UTF-16编码是以16位无符号整型数据为单位的。能够对Unicode的所有1,112,064个有效代码点进行编码。编码是可变长度的,因为编码点是用一个或两个16位代码单元编码的。

# -*- coding:utf-8 -*-	#在python2.*中需要添加该行语句,使其能识别中文

print'hello world' #python2.*
print('hello world') #python3.*
printt('hello world') #python3.*
print('hello world') #python3.*
print('python')print('linux')
print'你好'
# 每一行代码只负责完成一个动作
# print的作用:把内容输出到屏幕上来
# python是一个格式非常严格的程序设计语言,每行代码前面都不要增加空格

错误示范:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正确示范:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

python的数据类型

# 整型
In [14]: a = 1                                                          

In [15]: print(a)                                                       
1

In [16]: type(a)                                                        
Out[16]: int

# 浮点型
In [17]: b = 1.2                                                        

In [18]: type(b)                                                        
Out[18]: float

# 字符串类型
In [20]: c = 'westos'                                                   

In [21]: type(c)                                                        
Out[21]: str

在这里插入图片描述

# 类型转换	
In [22]: float(a)                                                       
Out[22]: 1.0

In [23]: int(b)                                                         
Out[23]: 1

In [24]: float(c)  	##字母字符串类型不能转换成浮点型和整型                                                     
------------------------------------------------------------------------
ValueError                             Traceback (most recent call last)
<ipython-input-24-36b90e4449a0> in <module>
----> 1 float(c)

ValueError: could not convert string to float: 'westos'

In [25]: str(a)                                                         
Out[25]: '1'

In [26]: str(b)                                                         
Out[26]: '1.2'


In [27]: d = '123456'                                                   

In [28]: d                                                              
Out[28]: '123456'

In [29]: int(d)                                                         
Out[29]: 123456

In [30]: float(d)                                                       
Out[30]: 123456.0

在这里插入图片描述

# 如何删除内存中的变量
In [31]: del a                                                          

In [32]: a                                                              
------------------------------------------------------------------------
NameError                              Traceback (most recent call last)
<ipython-input-32-3f786850e387> in <module>
----> 1 a

NameError: name 'a' is not defined

在这里插入图片描述

# bool类型
bool:只有两个值(True False)
# 非0即真,非空即真
In [34]: a =  1                                                         

In [35]: bool(a)                                                        
Out[35]: True

In [36]: bool(0)                                                        
Out[36]: False

In [37]: bool(1)                                                        
Out[37]: True

In [38]: bool(' ')                                                      
Out[38]: True

In [39]: bool('')                                                       
Out[39]: False

In [40]: bool(2412414)                                                  
Out[40]: True

在这里插入图片描述

python的输入和输出

程序:输入(键盘)----代码(java/python/c)----输出(屏幕)
输入:
#在pyhon2*中input:(只接收数值类型)
>>> help(input)	##查看帮助手册

>>> input()
1
1
>>> num = input('请输入密码:')
请输入密码:123456
>>> print num 
123456
>>> num = input('请输入密码:')
请输入密码:westos12345
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'westos12345' is not defined

raw_input(接收字符串类型)
>>> name = raw_input('请输入用户名:')
清输入用户名:tom
>>> print name
tom
>>> name = raw_input('请输入年龄:')
请输入年龄:18
>>> print name
18
>>> type(name)
<type 'str'>

在这里插入图片描述

"""
变量的定义:
在python中,每个变量在使用之前都必须赋值,变量赋值后该变量才会被创建
等号(=):就是用来给变量赋值的
	=左边是一个变量名
	=右边是存储在内存中的值(被变量名所指向)
变量名=值
"""
python3:(没有raw_input)
input:接收的都是字符串类型
In [1]: num = input()                                                   
12
In [2]: num                                                             
Out[2]: '12'
In [3]: name = input('请输入你的名字:')                                
请输入你的名字:harry
In [4]: name                                                            
Out[4]: 'harry'

在这里插入图片描述

"""
格式化输出
在python中可以使用print函数将信息输出到控制台
如果希望输出文字的同时,一起输出数据
语法格式:
print('格式化字符串' %(变量1,变量2...))
格式化字符串   	含义
%s:		字符串
%d:		十进制的整数
%f:		浮点数
%%:		输出%
"""
例题:
1.定义字符串变量name,输出:我的名字叫小明,请多多关照

在这里插入图片描述

2.定义整数变量student_num,输出:我的学号是000001
# %06d:不到6位就补0,如果是6位,该是多少是多少

在这里插入图片描述

3.定义小数 price,weight,money,输出:水果的单价是?元,购买了?斤,需要多少钱
# %.2f:保留小数点后两位

在这里插入图片描述

4.定义一个小数scale 输出:数据比例是10.00%

在这里插入图片描述

输入输出练习:
求平均成绩(python3解释器)

- 输入学生姓名;
- 依次输入学生的三门科目成绩;
- 计算该学生的平均成绩, 并打印;
- 平均成绩保留一位小数点;
- 计算该学生语文成绩占总成绩的百分之多少?并打印。eg: 78%;
代码:
name=input('输入学生姓名:')
print('依次输入%s的三门科目成绩:' %(name))
math=float(input('数学成绩:'))
chinese=float(input('语文成绩:'))
english=float(input('英语成绩:'))
print('%s的平均成绩是%.1f' %(name,(math+chinese+english)/3))
print('%s的语文成绩占总成绩的%d%%' %(name,yuwen/(math+chinese+english)*100))

在这里插入图片描述

分支语句

"""
判断语句(if)

if 要判断的条件:
	条件成立的时,要做的事情
else:
	条件不成立的时候,要做的事情

# 注意:代码的缩进为一个tab键,或者四个空格(tab键和空格不要混用)
"""
例子:
age = 13
if age >= 18:
	print('允许进入网吧')
else:
	print('未成年,不允许进入网吧')

print('~~~~~~~~~~~~~')

在这里插入图片描述在这里插入图片描述

逻辑运算符
"""
and:
条件1 and 条件2
两个条件同时满足,返回True
只要有一个不满足,就返回False

or:
条件1 and 条件2
两个条件只要有一个满足,返回True
两个条件都不满足,返回False

not:
对一个条件取反:not 条件
"""
例子:
python_score = 60
c_score = 55

if python_score > 60 or c_score > 60:
	print('考试通过')
else:
	print('请继续努力')

在这里插入图片描述

if案例:
需求:
1.从控制台输入要出的拳 ---石头(1)/剪刀(2)/布(3)
2.电脑随即出拳--先假定电脑只会出石头,完成整体代码功能
3.比较胜负
	石头 胜 剪刀
	剪刀 胜 布
	布 胜 石头
"""
import random		##倒入生成随机数模块

In [10]: random.randint(12,20)                                          
Out[10]: 12

In [11]: random.randint(12,20)                                          
Out[11]: 13

random.randint(a,b) # 随机返回[a,b]之间的整数,包含a,b
如果a=b:结果不变
如果a>b:结果报错,下限必须小于上限
"""
代码:
fist=int(input('请输入要出的拳:---石头(1)/剪刀(2)/布(3)'))
import random
e_fist=random.randint(1,3)
print('控制台出的是:%d,电脑出的是:%d' %(fist,e_fist))
if ((fist ==1 and e_fist==2) or (fist==2 and e_fist==3) or (fist==3 and e_fist==1)) :
	print('控制台胜出。')
elif fist<1 or fist>3 :
	print('输入错误。')
elif fist==e_fist :
	print('平局。')
else :
	print('电脑胜出。')

在这里插入图片描述

if案例2:
判断闰年?
用户输入年份year, 判断是否为闰年?
 	- year能被4整除但是不能被100整除 或者 year能被400整除, 那么就是闰年;
代码:
year=int(input('输入年份:'))
if (((year%4==0)and(year%100!=0)) or (year%400==0)) :
	print('该年是闰年。')
else :
	print('该年不是闰年。')

在这里插入图片描述

算术运算符

In [1]: 1+2                                                             
Out[1]: 3

In [2]: 3-1                                                             
Out[2]: 2

In [3]: 2*3                                                             
Out[3]: 6

In [4]: 6/3                                                             
Out[4]: 2.0

In [5]: 9/2                                                             
Out[5]: 4.5

In [6]: 9//2		##除后取整                                                            
Out[6]: 4

In [7]: 9%2		##取余数                                       
Out[7]: 1

In [8]: 2**2		##幂次方                              
Out[8]: 4

#先乘除后加减
#同级运算符是从左至右 计算
#可以使用()调整计算的优先级

在这里插入图片描述

练习:
 1. 输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。
	输入样例1:2004 2
	输出结果1:本月29天
	输入样例2:2010 4
	输出结果2:本月30天
代码:
year=int(input('输入年:'))
month=int(input('输入月:'))
if ((month%2==1) and (1<=month<=7)) or (month%2==0 and (8<=month<=12)):
    print('本月31天')
elif month==2:
    if (year%4==0 and year%100!=0) or (year%400==0):
        print('本月29天')
    else:
        print('本月28天')
else:
    print('本月30天')

在这里插入图片描述

 2. 用 if 判断输入的值是否为空?如果为空,报错Error
代码:
a=input()
if not a:
    print('Error')

在这里插入图片描述

 3. 根据用于指定月份,打印该月份所属的季节。
**提示: 3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季
代码:
month=int(input('输入月份:'))
if 3<=month<=5:
    print('%d月为春季' %(month))
elif 6<=month<=8:
    print('%d月为夏季' %(month))
elif 9<=month<=11:
    print('%d月为秋季' %(month))
else:
    print('%d月为冬季' %(month))

在这里插入图片描述

循环语句

for 循环的语法:
	for 变量 in range(10):
		循环需要执行的代码
	else:
		循环结束时需要执行的代码


 1+2+3+...+100=
"""
# c语言或者java
sum = 0 
for(int i=1;i<=100;i++):
	sum = sum + i
print sum
"""
# python
"""
In [1]: range(5)
Out[1]: [0, 1, 2, 3, 4]

In [2]: range(7)
Out[2]: [0, 1, 2, 3, 4, 5, 6]

In [3]: help(range)


In [4]: range(1,10)
Out[4]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

In [5]: help(range)

# 拿出1~10之间的所有偶数
In [6]: range(1,10,2)
Out[6]: [1, 3, 5, 7, 9]
In [7]: range(1,11,2)
Out[7]: [1, 3, 5, 7, 9]

# 拿出1~10之间的所有偶数
In [8]: range(2,11,2)
Out[8]: [2, 4, 6, 8, 10]

****range()函数
range(stop): 0~stop 1
range(start,stop):start~stop 1
range(start,stop,step):start~stop step(步长)
"""
sum = 0
for i in range(1,101):
	sum = sum + i
print(sum)

在这里插入图片描述

例子:
需求1:求1~100之间的所有偶数之和
需求2:求1~100之间的所有奇数之和
需求3:用户输入一个整形数,求该数的阶乘;3!=3*2*1 
代码:
sum1=0
for i in range(2,101,2):
    sum1 = sum1 + i
print('1~100之间的所有偶数之和为%d' %(sum1))

sum2=0
for i in range(1,101,2):
    sum2 =sum2 + i
print('1~100之间的所有奇数之和为%d' %(sum2))

num=int(input('输入一个整型数:'))
mul=1
for i in range(1,num+1):
    mul =mul * i
print('%d的阶乘为%d' %(num,mul))

在这里插入图片描述

用户登陆程序:
"""
用户登陆程序需求:
	1.输入用户名和密码
	2.判断用户名和密码是否正确(name = 'root',passwd='westos')
	3.为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错
"""
# 为了让登陆代码循环三次
for i in range(3):
	name = input('用户名:')
	passwd = input('密码:')
	if name == 'root' and passwd == 'westos':
		print('登陆成功')
		break
	else:
		print('登陆失败')
		print('您还剩余%d次机会' %(2-i))
else:
	print('登陆次数超过三次,请等待100s后再登陆')

在这里插入图片描述

break_continue

"""
break:跳出整个循环,不会再执行循环后续的内容
continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
exit():结束程序的运行
"""
例子:
for i in range(10):
	if i == 5:
		break
	print(i)

在这里插入图片描述

break练习_实现命令行提升雏形
代码:
import os		##导入linux命令模块
for i in range(1000):
	cmd = input('[root@test]$')
	if cmd:
			if cmd == 'exit':
				print('logout')
				break
				print('hello')	##break退出循环后该语句不会执行
			else:
				print('run %s' %(cmd))
				# 运行shell命令
				os.system(cmd)
	else:
		continue
		print('hello')
# 死循环
while True:
	cmd = input('[root@test]$')
	if cmd:
			if cmd == 'exit':
				print('logout')
				break
				print('hello')
			else:
				print('run %s' %(cmd))
				# 运行shell命令
				os.system(cmd)
	else:
		continue
		print('hello')

在这里插入图片描述

for循环练习:
"""
输入两个数值: 
	求两个数的最大公约数和最小公倍数.

最小公倍数=(num1*num2)/最大公约数
"""
代码:
#1.输入两个数值
num1 = int(input('Num1:'))
num2 = int(input('Num2:'))

# 2.找出两个数中的最小值
min_num = min(num1,num2)

# 3.最大公约数的范围1~min_num之间
# 最大公约数就是num1和num2能整除的最大的数
for i in range(1,min_num+1): #1,2
	if num1 % i == 0 and num2 % i ==0:
		"""
		2%1 ==0; 6%1==0 gys =1
		2%2==0;  6%2==0 gys =2
		"""
		# 当我们循环结束的时候,gys中保存的一定是最大的约数
		gys = i

# 4.最小公倍数
lcm = int((num1*num2)/gys)

print('%d和%d的最大公约数为%d' %(num1,num2,gys))
print('%d和%d的最小公倍数为%d' %(num1,num2,lcm))
# while 循环
代码:
num1=int(input('输入整数num1:'))
num2=int(input('输入整数num2:'))
min_num=min(num1,num2)
i=1
while i<=min_num:
    if num1%i==0 and num2%i==0:
        k=i
    i+=1
print('%d和%d的最大公约数为%d' %(num1,num2,k))
print('%d和%d的最小公倍数为%d' %(num1,num2,num1*num2/k))

在这里插入图片描述

range和xrange的区别:
"""
python2:
	-range(1,5):即刻生成数据,消耗时间并且占用内存
	-xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存

python3:
	-range(1,5):相当于python2中的xrange

"""

在这里插入图片描述

while循环:
"""
while 条件:
	条件满足时,做的事情1
	条件满足时,做的事情2
	.....	
"""
例子:
# 'hello python'
# 1.定义一个整数变量,记录循环次数
i=1
# 2.开始循环
while i<=5:
	print ('hello python')	
	# 处理计数器
	i += 1
# 执行之后会打印5次'hello python'

在这里插入图片描述

# 计算0~100之间的所有偶数累计求和
i = 0
sum = 0

while i <= 100:
	if i % 2 ==0:
		sum += i
	i += 1
print('0~100之间的所有偶数累计求和的结果是 %d' %sum)

在这里插入图片描述

#死循环
while True:
	print('hello python')
# 一直处在循环之中,ctrl+c强制退出循环

在这里插入图片描述

while练习:

如图打印乘法表:

"""
*
**
***
****
*****
"""	
代码:
row=1
while row<=9:
    col=1
    while col<=row:
        print('%d*%d=%d\t' %(col,row,row*col),end='')
        col+=1
    print()
    row+=1
# \t:在控制台输出一个制表符,协助我们在输出文本时在垂直方向保持对齐

在这里插入图片描述

"""	
    *
   **
  ***
 ****
*****
"""	
代码:
row=1
while row<=9:
    col=1
    while col<=9-row:
        print(' \t',end='')
        col+=1
    t=row
    while t>0:
        print('%d*%d=%d\t' %(col,row,row*col),end='')
        col+=1
        t-=1
    print()
    row+=1

在这里插入图片描述

"""
*****
****
***
**
*
"""
代码:
row=1
while row<=9:
    col=1
    while col<=10-row:
        print('%d*%d=%d\t' %(col,row,row*col),end='')
        col+=1
    print()
    row+=1

在这里插入图片描述

"""
*****
 ****
  ***
   **
    *
"""
代码:
row=1
while row<=9:
    col=1
    while col<row:
        print(' \t',end='')
        col+=1
    t=col
    while t<=9:
        print('%d*%d=%d\t' %(t,row,t*row),end='')
        t+=1
    print()
    row+=1

在这里插入图片描述

循环练习:
"""
# 猜数字游戏                                                                                               
	 if , while(for), break
	 1. 系统随机生成一个1~100的数字;
	 ** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
	 2. 用户总共有5次猜数字的机会;
	 3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
	 4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
	 5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
"""
# while循环
代码:
import random
n=5
computer=random.randint(1,100)
print('电脑生成的数字为%d' %computer)
while n>0 :
	user=int(input('输入整数:'))
	if user>computer :
		print('too big')
	elif user<computer :
		print('too small')
	else :
		print('恭喜中奖100万')
		break
	n-=1
	print('您还有%d此机会' %(n))
else :
	print('很遗憾,您的机会已用完' )
# for循环
代码:
import random
computer=random.randint(1,100)
print('电脑生成的数字为%d' %computer)
for i in range(1,6):
    user=int(input('请输入整型数:'))
    if user==computer:
        print('恭喜中奖100万')
        break
    elif user<=computer:
        print('too small')
        print('还剩余%d此机会' %(5-i))
    else:
        print('too big')
        print('还剩余%d此机会' %(5-i))
else:
    print('很遗憾,您的机会已用完')

在这里插入图片描述

字符串的定义
a = 'hello'
b = "python"
c = """
	用户管理系统
	1.添加用户
	2.删除用户
	3.显示用户
"""
print(type(a))
print(type(b))
print(type(c))
print(a)
print(b)
print(c)

在这里插入图片描述

# 字符串常用的转义符号
"""
\n:换行
\t:一个tab键
\":打印"
\':打印'
"""
# 打印guido's
# 打印"hello guido's python"

print('guido\'s')
print("guido's")
print('"hello guido\'s python"')
print("\"hello guido's python\"")

print('%s\n%s' %(a,b))
print('%s\t%s' %(a,b))

在这里插入图片描述

字符串的特性
s = 'hello'
# 索引:0,1,2,3,4 索引是从0开始的
print(s[0])
print(s[4])

# 拿出字符串的最后一个字符
print(s[-1])


#切片
# s[start:end:step] 从start开始,到end-1结束,步长为step(默认是1)
print('~~~~~~~~~~~~~~~~~~~~~~~~~~')
print(s)
print(s[0:3])
print(s[0:4:2])

# 显示所有字符
print(s[:])
# 显示前3个字符
print(s[:3])
# 字符串倒序输出
print(s[::-1])
# 除了第一个字符之外,其他的全部显示
print(s[1:])

在这里插入图片描述

#重复
print(s*10)

#连接
print('hello '+'world')


#成员操作符
print('he' in s)
print('aa' in s)
print('he' not in s)

在这里插入图片描述

字符串特性的应用
题目要求:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样
的整数。
示例:

示例 1:
        输入: 121
        输出: true
示例 2:
        输入: -121
        输出: false
        解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:
        输入: 10
        输出: false
        解释: 从右向左读, 为 01 。因此它不是一个回文数
# 用字符串的形式
代码:
back=input('输入一个整数:')
print(back==back[::-1])
# 用整数型
代码:
back=int(input('输入一个整数:'))
b=back
a=''
if b>0:
    while int(b/10):
        a=a+str(b%10)
        b=int(b/10)
        if int(b/10)==0:
            a=a+str(b)
    print(back==int(a))
elif b==0:
    print(True)
else:
    print(False)

在这里插入图片描述

字符串_开头和结尾匹配
"""
变量名.startswith('该变量的值中要匹配的开头')
变量名.endswith('该变量的值中要匹配的结尾')
"""
例子:
# 匹配字符串的开头和结尾
filename='hello.logggh'
if filename.endswith('.log'):		##匹配结尾
	print(filename)
else:
	print('error file')

url1 = 'file:///mnt'
url2 = 'ftp://172.25.254.250/pub/'
url3 = 'http://172.25.254.250/index.html'

if url3.startswith('http://'):		##匹配开头
	print('爬取网页')
else:
	print('不能爬取网页')

在这里插入图片描述

字符串_去掉两边的空格
"""
变量名.strip()	##默认去掉字符串两边的空格,若括号内添加'h'则表示去掉字符串两边相应的字符'h'
变量名.lstrip()	##去掉字符串左边的空格
变量名.rstrip()	##去掉字符串右边的空格	
"""
例子:
>>> s='       hello       '
>>> s
'       hello       '
>>> s.strip()
'hello'
>>> s.lstrip()
'hello       '
>>> s.rstrip()
'       hello'
>>> s='\nhello                  '
'hello'
>>> s='\thello                 '
'hello'
>>> s='helloh'
>>> s.strip('h')
'ello'
>>> s.lstrip('h')
'elloh'
>>> s.rstrip('h')
'hello'

在这里插入图片描述

“““
字符串.center(50,'*')	##字符串居中,并且左右两边有50个'*'
字符串.ljust(50,'*')	##字符串左对齐,并且右边有50个'*'
字符串.rjust(50,'*')	##字符串右对齐,并且左边有50个'*'
“““
例子:
>>> 'hello world'.center(50,'*')
'*******************hello world********************'
>>> 'hello world'.ljust(50,'*')
'hello world***************************************'
>>> 'hello world'.rjust(50,'*')
'***************************************hello world'

在这里插入图片描述

字符串的搜索和替换
"""
find:查找变量中含有要被找字符或字符串的首字母的位置,rfind表示从左边开始查找
replace:表示用某个字符或字符串代替变量中含有的字符或字符串,不会改变变量的值
count:统计被找字符或字符串在变量中出现的次数
"""
例子:
>>> s='hello python,learn python'
>>> s.find('python')
6
>>> s.rfind('python')
19
>>> s.replace('p','w')
'hello wython,learn wython'
>>> s.replace('python','linux')
'hello linux,learn linux'
>>> s
'hello python,learn python'
>>> s.count('p')
2
>>> s.count('he')
1

在这里插入图片描述

字符串的分离和拼接
"""
split:将字符串用某个字符将其分离
join:用某个字符将分离的字符串拼接
"""
例子:
>>> ip='172.25.254.126'
>>> ip.split('.')
['172', '25', '254', '126']
>>> date='2018-11-20'  
>>> date.split('-')
['2018', '11', '20']
ip1=ip.split('.')
>>> ip1
['172', '25', '254', '126']
>>> ''.join(ip1)
'17225254126'
>>> '/'.join(ip1)
'172/25/254/126'

在这里插入图片描述

小米笔试体练习
- 题目描述:
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

- 输入描述: 
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符) 

- 输出描述: 
> 对于每个测试示例,要求输出句子中单词反转后形成的句子

- 示例1:
-输入
    hello xiao mi
-输出
    mi xiao hello
# while循环
代码:
while 1 :
	a=input('输入一个长度小于1000个字符的句子:\n')
	b=a.split()
	c=' '.join(b[::-1])
	print(c)
# for循环
代码:
for i in range(1,1000):
    a=input('输入一个长度小于1000个字符的句子:\n')
    b=a.split()
    c=' '.join(b[::-1])
    print(c)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值