Python基础(一)

安装python3

1.拿到源码安装包(python3.6)—>去官网下载
2.解压安装包到/opt目录

 tar zxf Python-3.6.4.tgz -C /opt/

3.安装编译过程中需要的依赖包:gcc,zlib,zlib-devel,openssl-devel

cd /opt/Python-3.6.4/
yum install -y gcc zlib zlib-devel openssl-devel

4.进入解压的安装包进行编译

cd /opt/Python-3*
./configure --prefix=/usr/local/python3 --with-ssl    # --prefix= :安装路径   --with-ssl:添加ssl加密
make && make install		#安装

5.添加python3的命令到环境变量中
echo $PATH :查看系统的环境变量

临时添加

export PATH='/usr/local/python3/bin:$PATH'

永久添加

echo export PATH="/usr/local/python3/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

6.如何检测是否安装成功
在命令行执行:python3

第一个Python程序

print 'hello world'		#python2.*
print('hello world')		#python3.*

注意:

print的作用:把内容输出到屏幕上来
每一行代码只负责完成一个动作

错误示范:
print('python')print('linux')

python是一个格式非常严格的程序设计语言,每行代码前面都不要随意增加空格

错误示范:
print('hello world') 
	print('hello world') 

译码器和解释器

python:解释器

译码器:最终生成可执行文件,运行速度快
解释器:逐行解释每一行源代码,跨平台性能强

编码格式

两种编码格式:UTF ASCII
python2不能输出中文
python2中使用的是ASCII编码
输出中文需要转换编码格式

# -*- coding:utf-8 -*-

python的数据类型

1.整型

In [14]: a = 1                                              
In [15]: print(a)                                           
1
In [16]: type(a)                                            
Out[16]: int

2.浮点型

In [17]: b = 1.2                                            
In [18]: type(b)                                            
Out[18]: float

3.字符串类型

In [20]: c = 'westos'                                          
In [21]: type(c)                                            
Out[21]: str

4.类型转换

#整型转换为浮点型
In [22]: float(a)                                           
Out[22]: 1.0
#浮点型转换为整型
In [23]: int(b)                                             
Out[23]: 1
#整型转换为字符串型
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

5.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

6.如何删除内存中的变量

In [31]: del a                                              
In [32]: a         #a已经被删除,输出a显示a未被定义                                         
------------------------------------------------------------------------
NameError                              Traceback (most recent call last)
<ipython-input-32-3f786850e387> in <module>
----> 1 a

NameError: name 'a' is not defined

算术运算符号

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

#加法运算
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

python的输入和输出

程序:输入(键盘)----代码(java/python/c)----输出(屏幕)

变量
定义:在python中,每个变量在使用之前都必须赋值,变量赋值后该变量才会
被创建

等号(=):就是用来给变量赋值的
=左边是一个变量名
=右边是存储在内存中的值(被变量名所指向)

变量名=值

输入

pyhon2*

input(只接收数值类型)

>>> help(input)
>>> input()
1
1
>>> num = input('请输入密码:')
请输入密码:123456
>>> print num 
123456
>>> num = input('请输入密码:')
请输入密码:westos12345
#input只接受数值类型,报错
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'>
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,输出:我的名字叫小明,请多多关照
代码:

name = '小明'
sex = '男'
print('我的名字叫%s,我的性别是 %s,请多多关照' %(name,sex))

运行结果:
在这里插入图片描述
2.定义整数变量student_num,输出:我的学号是000001
代码:

student_num = 1
print('我的学号是 %06d' %(student_num))	   #%06d:不到6位就补0,如果是6位,该是多少是多少

运行结果:
在这里插入图片描述
3.定义小数 price、weight、money,输出:水果的单价是多少元,购买多少斤,需要多少钱?
代码:

price = 8.5
weight = 7.5
money = price * weight
print('水果的单价是%.2f元,购买了%.2f斤,需要%.2f钱' %(price,weight,money))		  #%.2f:保留小数点后两位

运行结果:
在这里插入图片描述
4.定义一个小数scale,输出:数据比例是10.00%
代码:

scale = 0.1
print('数据比例是 %.2f%%' %(scale * 100))

scale = 0.1 * 100
print('数据比例是 %.2f%%' %(scale))

运行结果:
在这里插入图片描述

练习

求平均成绩(python3解释器)
输入学生姓名;
依次输入学生的三门科目成绩;
计算该学生的平均成绩,并打印;
平均成绩保留一位小数点;
计算该学生语文成绩占总成绩的百分之多少?并打印。eg:78%

代码:

name = input('请输入学生姓名:')
score1 =float( input('请输入语文成绩:'))
score2 = float(input('请输入数学成绩:'))
score3 = float(input('请输入英语成绩:'))
sumscore = score1 + score2 + score3	#总成绩
avgscore = sumscore / 3			#平均成绩
scale = score1 / sumscore		#百分比
print('%s的平均成绩:%.1f' %(name,avgscore))
print('%s的语文成绩占总成绩的比例:%.f%%' %(name,scale * 100))

运行结果:
在这里插入图片描述

分支语句

if语句

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

注意:代码的缩进为一个tab键,或者四个空格(tab键和空格不要混用)
举例:

age = 19
if age >= 18:
    print('允许进入网吧')
else:
    print('未成年不允许进入网吧')

逻辑运算符

and:

条件1 and 条件2

两个条件同时满足,返回True
只要有一个不满足,就返回False
举例:

age = 19
if age >= 0 and age <= 120:
    print('年龄正确')
else:
    print('年龄不正确')

or:

条件1 and 条件2

两个条件只要有一个满足,返回True
两个条件都不满足,返回False
举例:

py_score = 90
c_score = 59
if py_score > 60 or c_score > 60:
    print('pass')
else:
    print('fail')

not:

not 条件

对一个条件取反
举例:

is_employee = False
if not is_employee:
    print('非本公司员工,请勿入内')

多分支语句:

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

举例:
代码:

score = 78
print('成绩:%d' %(score))
if score >= 0 and score < 60:
    print('不及格')
elif score >= 60 and score < 75:
    print('及格')
elif score >= 75 and score < 90:
    print('良好')
else:
    print('优秀')

运行结果:
在这里插入图片描述
代码:

holiday_name='情人节'
print('节日:%s' %(holiday_name))

if holiday_name == '情人节':
    print('看电影')
    print('买玫瑰')
elif holiday_name == '生日':
    print('买蛋糕')
    print('买口红')
elif holiday_name =='圣诞节':
    print('买苹果')
else:
    print('每天都是节日!')

运行结果:
在这里插入图片描述

猜拳游戏:

需求:
1.从控制台输入要出的拳 ---- 石头(1)/剪刀(2)/布(3)
2.电脑随即出拳 ---- 先假定电脑只会出石头,完成整体代码功能
3.比较胜负(石头胜剪刀,剪刀胜布,布胜石头)

代码:

import random		#导入生成随机数模块
#computer = 1		#假定电脑只会出石头
#random.randint(1,3)随机返回1~3之间的整数
computer = random.randint(1,3)		#电脑随即出拳
    
player = int(input('请输入要出的拳(石头(1)/剪刀(2)/布(3)):'))
print('玩家选择的拳头是:%d\n电脑出的是:%d' %(player,computer))

if ((player == 1 and computer == 2)
    or(player == 2 and computer == 3)
    or(player == 3 and computer == 1)
):
    print('玩家胜利~')
elif player == computer :
    print('平局~再来一局')
else:
    print('玩家输了~')

运行结果:
电脑只会出石头:
在这里插入图片描述
电脑随即出拳:
在这里插入图片描述
生成随机数模块random
导入模块: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:结果报错,下限必须小于上限

判断闰年

用户输入年份year,判断是否为闰年?
----year能被4整除但是不能被100整除,或者year能被400整除,那么就是闰年。
代码:

year = int(input('请输入年份:'))
if ((year%4 == 0 and year%100 != 0) or (year%400 == 0)):
    print('%d年是闰年' %(year))
else:
    print('%d年不是闰年' %(year))

运行结果:
在这里插入图片描述

循环语句

for循环

语法:

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

range()函数:
range(stop): 0~stop 1
range(start,stop):start~stop 1
range(start,stop,step):start~stop step(步长)

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

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

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

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

python2:

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

python3:

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

1+2+3+…+100=?

c语言或者java

sum = 0 ;
for(int i=1;i<=100;i++)
    sum = sum + i;
print sum;

python

sum = 0
for i in range(1,101):
    sum = sum + i
print(sum)

举例:
1.求1~100之间的所有偶数之和
2.求1~100之间的所有奇数之和
3.用户输入一个整型数,求该数的阶乘;3!=3*2*1

代码:

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

print('==============')

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

print('==============')

x = int(input('请输入一个整型数:'))
y = 1
for k in range(1,x+1):
    y = y * k
print('%d的阶乘是:%d' %(x,y))

运行结果:
在这里插入图片描述
练习:
输入两个数值:
求两个数的最大公约数和最小公倍数.
注:最小公倍数=(num1*num2)/最大公约数

代码:

#方法一:
num1 = int(input('NUM1:'))
num2 = int(input('NUM2:'))
if num1 < num2:
    for i in range(1,num1+1):
        if (num1%i == 0) and (num2%i == 0):
            MAX = i
        else:
            continue
else:
    for i in range(1,num2+1):
        if (num1%i == 0) and (num2%i == 0):
            MAX = i
        else:
            continue

MIN = (num1 * num2)/MAX
print('%d和%d的最大公约数为:%d' %(num1,num2,MAX))
print('%d和%d的最小公倍数为:%d' %(num1,num2,MIN))

print('===========')

#方法二:
num1 = int(input('NUM1:'))
num2 = int(input('NUM2:'))
min_num = min(num1,num2)	#取num1和num2的最小值
#最大公约数的范围1~min_num之间
for i in range(1,min_num+1):
#最大公约数就是num1和num2能整除的最大的数
    if (num1%i == 0) and (num2%i == 0):
        gys = i
    else:
        continue
#当我们循环结束的时候,gys中保存的一定是最大公约数
#最小公倍数:
lcm = int((num1 * num2)/gys)

print('%d和%d的最大公约数为:%d' %(num1,num2,gys))
print('%d和%d的最小公倍数为:%d' %(num1,num2,lcm))

运行结果:
在这里插入图片描述

用户登录

用户登录程序需求:
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('登录次数已超过三次,60s后重试!')

运行结果:
在这里插入图片描述
break_continue
break:跳出整个循环,不会再执行循环后续的内容
continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
exit():结束程序的运行

for i in range(10):
	if i == 5:
#       break
#       continue
        exit()
	print(i)

break:
在这里插入图片描述
continue:
在这里插入图片描述
exit():
在这里插入图片描述

break实现命令行

代码:

import os		#导入os模块
for i in range(1000):
	cmd = input('[root@test]$')
	if cmd == 'exit':
    	print('logout')
        	break
        elif cmd == '':
        	continue
        else:
            print('run %s' %(cmd))
            os.system(cmd)

运行结果:
在这里插入图片描述

while循环

语法:

while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    .....   

’hello python’
代码:

#定义一个整数变量,记录循环次数
i=1
#开始循环
while i<=5:
    print ('hello python')
    # 处理计数器
    i += 1

运行结果:
在这里插入图片描述
死循环:

while True:
    print('hello python')

举例:
1.计算0~100之间的所有偶数累计求和
2.计算0~100之间的所有奇数累计求和
代码:

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

运行结果:
在这里插入图片描述
练习:
1.在屏幕输出:

"""
*
**
***
****
*****
"""
"""
    *
   **
  ***
 ****
*****
"""
"""
*****        
****
***
**
*
"""
"""
*****
 ****
  ***
   **
    *
"""        

代码:

row = 1
while row <= 5:
	col = 1
    while col <= row:
    	print('*',end='')
        col += 1
	print()
    row += 1
        
print('==========')

row = 1
while row <= 5:
	col = 1
    while col <= 5-row:
    	print(' ',end='')
        col += 1
	while col > 5-row and col <= 5:
    	print('*',end='')
        col += 1
	print()
    row += 1

print('==========')

row = 1
while row <= 5:
    col = 5
    while col >= row:
    	print('*',end='')
        col -= 1
    print()
    row += 1

print('==========')

row = 1
while row <= 5:
    col = 1
    while col < row:
        print(' ',end='')
		col += 1
    while col >= row and col <= 5:
    	print('*',end='')
    	col += 1
    print()
    row += 1

运行结果:
在这里插入图片描述
2.九九乘法表
代码:

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

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

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

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

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

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

row = 1
while row <= 9:
    col = 1
    while col < row:
        print('\t',end='')
        col += 1
    while col >= row and col <= 9:
        print('%d*%d=%d\t' %(row,col,row*col),end='')
        col += 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万",并且退出循环;

代码:

import random
computer_num = random.randint(1,100)
print('随机数:%d' % computer_num)
i = 0
#while i < 5:			#while循环
for i in range(5):		#for循环
    user_num = int(input('猜数字:'))
    if user_num > computer_num:
        print('too big')
    elif user_num < computer_num:
        print('too small')
        else:
            print('恭喜中奖100万')
            break
        print('您还有%d次机会!' %(4-i))
        i += 1
else:
    print('很遗憾,机会已经用完!')

运行结果:
在这里插入图片描述

字符串

字符串的定义

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

在这里插入图片描述
字符串常用的转义符号

\n:换行
\t:一个tab键
\":双引号
\':单引号

示例:

#打印guido's
print('guido\'s')		
print("guido's")
#打印"hello guido's python"
print('"hello guido\'s python"')		
print("\"hello guido's python\"")
		
print('%s\n%s' %(a,b))
print('%s\t%s' %(a,b))

在这里插入图片描述

字符串的特性

s = 'hello'

#索引
s[0]
s[4]
s[-1]           #拿出字符串的最后一个字符

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

#切片
#s[start:end:step] 从start开始,到end-1结束,步长为step(默认是1)
print(s)
print(s[0:3])
print(s[0:4:2])
print(s[:])		#显示所有字符
print(s[:3])            #显示前三个字符
print(s[::-1])          #字符串倒序输出
print(s[1:])            #除了第一个字符之外,其他全都显示

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

#重复
print(s*10)

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

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

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

#成员操作符
print('he' in s)                #'he'是否在字符串s里
print('aa' in s)
print('he' not in s)    #'he'是否不在字符串s里

在这里插入图片描述

回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

代码:

num = input('请输入一个数:')
if num[:] == num[::-1]:
        print('true')
else:
        print('false')

运行结果:
在这里插入图片描述

字符串_开头和结尾匹配

filename='hello.log'
#匹配开头
if filename.endswith('.log'):
        print(filename)
else:
        print('error file')

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

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('不能爬取网页')

在这里插入图片描述

字符串_去掉两边空格

In [3]: s = '      hello      '                                     
#去掉两边空格
In [4]: s.strip()                                                   
Out[4]: 'hello'
#去掉左边空格
In [5]: s.lstrip()                                                  
Out[5]: 'hello      '
#去掉右边空格
In [6]: s.rstrip()                                                  
Out[6]: '      hello'

# \n,\t 也相当于空格
In [7]: s = '\nhello      '                                         
In [8]: s.strip()                                                   
Out[8]: 'hello'
In [9]: s = '\thello      '                                         
In [10]: s.strip()                                                  
Out[10]: 'hello'

In [11]: s = 'helloh'                                               
#去掉两边h
In [12]: s.strip('h')                                               
Out[12]: 'ello'
#去掉两边he(h包含在he里,也去掉了h)
In [13]: s.strip('he')                                              
Out[13]: 'llo'
#去掉左边he
In [14]: s.lstrip('he')                                             
Out[14]: 'lloh'
#去掉右边he
In [15]: s.rstrip('he')                                             
Out[15]: 'hello'

#打印'学生管理系统'和50个'*',并使'学生管理系统'居中
In [17]: print('学生管理系统'.center(50,'*'))                       
**********************学生管理系统**********************
#打印'学生管理系统'和50个'*',并使'学生管理系统'左对齐
In [18]: print('学生管理系统'.ljust(50,'*'))                        
学生管理系统********************************************
#打印'学生管理系统'和50个'*',并使'学生管理系统'右对齐
In [19]: print('学生管理系统'.rjust(50,'*'))                        
********************************************学生管理系统

字符串_搜索和替换

find():搜索,在原字符串中查找需要的字符(串)
replace():替换,把原字符串中旧字符(串)替换成新字符(串)
count():计数,统计原字符串里某个字符(串)出现的次数

In [20]: s = 'hello python,learn python'    
                        
#在字符串s中查找字符串'python'
In [21]: s.find('python')                                           
Out[21]: 6
#从右边查找
In [22]: s.rfind('python')                                          
Out[22]: 19

#将字符串s里的'python'替换成'linux'
In [23]: s.replace('python','linux')                                
Out[23]: 'hello linux,learn linux'

#字符串中python出现的次数
In [27]: s.count('python')                                          
Out[27]: 2
#字符串中p出现的次数
In [28]: s.count('p')                                               
Out[28]: 2
#字符串中i出现的次数
In [29]: s.count('i')     
Out[29]: 0                                          

字符串_分离和拼接

split():通过指定分隔符对字符串进行切片
join():将序列中的元素以指定的字符连接生成一个新的字符串

In [30]: ip = '172.25.254.10'                                                                        
#以 . 为分隔符将字符串ip切片
In [32]: ip.split('.')                                             
Out[32]: ['172', '25', '254', '10']

In [33]: date = '2018-11-18'  
#以 - 为分隔符将字符串date切片                                    
In [34]: date.split('-')                                            
Out[34]: ['2018', '11', '18']

In [38]: ip = ['172', '25', '254', '10']    #字符串序列                       
#直接将字符串序列连接成字符串
In [39]: ''.join(ip)                                                
Out[39]: '1722525410'
#用 : 将字符串序列连接成字符串
In [40]: ':'.join(ip)                                               
Out[40]: '172:25:254:10'
#用 * 将字符串序列连接成字符串
In [41]: '*'.join(ip)                                               
Out[41]: '172*25*254*10'

字符串常用方法_大小写

判断字符串是不是"标题"
In [1]: 'Hello'.istitle()
Out[1]: True
In [2]: 'hello'.istitle()
Out[2]: False
判断字符串是不是大/小写
In [7]: 'heLLo'.islower()
Out[7]: False
In [8]: 'heLLo'.isupper()
Out[8]: False
将字符串全部变为大写
In [3]: 'hello'.upper()
Out[3]: 'HELLO'
将字符串全部变为小写
In [4]: 'heLLo'.lower()
Out[4]: 'hello'
将字符串变成"标题"
In [5]: 'heLLo'.title()
Out[5]: 'Hello'
将字符串的大小写互换
In [6]: 'heLLo'.swapcase()
Out[6]: 'HEllO'
字符串的判断
[[:alpha:]]:字母
[[:digit:]]:数字
[[:alnum:]]:数字和字母
[[:upper:]]:大写字母
[[:lower:]]:小写字母
[[:space:]]:空白字符

练习:
变量名是否合法?
----变量名可以由字母,数字或下划线组成
----变量名只能以字母或下划线开头
分析:
1.判断变量名的第一个元素是否为字母或下划线:s[0]
2.如果第一个元素符合条件,判断除了第一个元素的其他元素:s[1:]
步骤:
1.变量名的第一个字符是否为字母或下划线
2.如果是,继续判断(4)
3.如果不是,报错,不合法
4.依次判断除了第一个字符之外的其他字符
5.判断这个字符是否为数字或下划线
代码:

while True:
	s = input('变量名:')
	if s == 'exit':
		print('欢迎下次使用')
		break
	if s[0].isalpha() or s[0] == '_':
		for i in s[1:]:
			if not(i.isalnum() or i =='_'):
				print('%s变量名不合法' %(s))
				break
		else:
			print('%s变量名合法' %(s))				
	else:
		print('%s变量名不合法' %(s))

运行结果:
在这里插入图片描述

python的常用内置方法

#返回两个数中的最小值
In [1]: min(2,4)
Out[1]: 2
#返回两个数中的最大值
In [2]: max(2,4)
Out[2]: 4
#1~100之间所有数之和
In [3]: sum(range(1,101))
Out[3]: 5050
#1~100之间所有偶数之和
In [4]: sum(range(2,101,2))
Out[4]: 2550
#1~100之间所有奇数之和
In [5]: sum(range(1,101,2))
Out[5]: 2500
# 枚举:返回索引值和对应的value值
In [8]: for i,v in enumerate('hello'):
   ...:     print(str(i) + '--------->' + v)
   ...:
0--------->h
1--------->e
2--------->l
3--------->l
4--------->o
#zip()函数
In [9]: s1 = 'abc'    
In [10]: s2 = '123'

In [11]: for i in zip(s1,s2):
    ...:     print(i)
    ...:
('a', '1')
('b', '2')
('c', '3')

In [12]: for i in zip(s1,s2):
    ...:     print(''.join(i))
    ...:
a1
b2
c3

In [13]: for i in zip(s1,s2):
    ...:     print('-'.join(i))
    ...:
a-1
b-2
c-3
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值