安装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