#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:
sum = 0
for i in range(1,101):
sum = sum + i
print(sum)
拿出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(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 [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.输入用户名和密码
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('登陆机会超过三次,请等待24小时重试!!!!!')
break:跳出整个循环,不会再执行循环后续的内容
continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
exit():结束程序的运行
for i in range(10):
if i == 5:
break
print(i)
for i in range(10):
if i == 5:
continue
print(i)
!!!!因为练习题需要先调用一些模块,后面模块部分会讲到
import os
#死循环
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')
输入两个数值:
求两个数的最大公约数和最小公倍数.
提示:最小公倍数=(num1*num2)/最大公约数
本例中用到了python3的内置函数min(a,b),输出结果就是a和b中的最大值
#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:
gys = i
当循环结束时存在gys里的必定是公约数中的最大值
4.最小公倍数
lcm = int((num1*num2)/gys)
print('%s和%s的最大公约数为%s' %(num1,num2,gys))
print('%s和%s的最小公倍数为%s' %(num1,num2,lcm))
python2:
-range(1,5):即刻生成数据,消耗时间并且占用内存
-xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存
python3:
-range(1,5):相当于python2中的xrange
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
1.定义一个整数变量,记录循环次数
i=1
2.开始循环
while i<=5:
print (‘hello python’)
# 处理计数器
i += 1
#计算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')
代码:
n=1
while n<=5:
l=1
while l<=n:
print('*',end='')
l += 1
print()
n += 1
print('~~~~~~~~~~~~')
n=1
while n<=5:
l=5
while l>=n:
print('*',end='')
l -=1
print()
n += 1
print('~~~~~~~~~~~~')
n=1
while n<=5:
l=1
while l<=5-n:
print(' ',end='')
l += 1
j = 1
while j<=n and j<=5:
print('*',end='')
j +=1
print()
n +=1
print('~~~~~~~~~~')
n=1
while n<=5:
l=1
while l=n and l<=5:
print('*',end='')
l +=1
print('~~~~~~~~~~')
n=1
while n<=5:
l=1
while l=n and l<=5:
print('*',end='')
l +=1
print()
n +=1
运行结果:
99乘法表:
i=1
while i<=9:
j=1
while j<=i:
print('{}x{}={}\t'.format(i,j,i*j),end='')
j +=1
print()
i+=1
print('~~~~~~~~~~~~~')
i=1
while i<=9:
j=9
while j>=i:
print('{}x{}={}\t'.format(i,j,i*j),end='')
j -=1
print()
i+=1
print('~~~~~~~~~~~~`')
i=1
while i<=9:
j=9
while j>i:
print('\t',end='')
j -=1
while j<=i and j>0:
print('{}x{}={}\t'.format(i,j,i*j),end='')
j -=1
print()
i +=1
print('~~~~~~~~~~~~~~')
i=1
while i<=9:
j=1
while j=i and j<=9:
print('{}x{}={}\t'.format(i,j,i*j),end='')
j +=1
print()
i +=1
1,1 All
循环练习:
#猜数字游戏
if , while(for), break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
代码:
import random
a=1
num1=random.randint(1,100)
print(num1)
while a<=5:
num=int(input('请任意输入1个1~100的数:'))
if num>num1:
print('too big')
a +=1
elif num
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))
拿出字符串的最后一个字符
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 。因此它不是一个回文数
直接利用python中切片
代码:
num=str(input('请输入一个整数:'))
if num[:]==num[::-1]:
print('true')
else:
print('flase')
#匹配字符串的开头和结尾
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('不能爬取网页')
In [1]: s = ' hello'
In [2]: s.strip()
Out[2]: 'hello'
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'
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'
In [12]: s.strip('h')
Out[12]: 'ello'
In [13]: s.strip('he')
Out[13]: 'llo'
In [14]: s.lstrip('he')
Out[14]: 'lloh'
In [15]: s.rstrip('he')
Out[15]: 'hello'
In [17]: print('学生管理系统'.center(50,'*'))
**********************学生管理系统**********************
In [18]: print('学生管理系统'.ljust(50,'*'))
学生管理系统********************************************
In [19]: print('学生管理系统'.rjust(50,'*'))
********************************************学生管理系统
find:
replace:
count:
In [20]: s = 'hello python,learn python'
In [21]: s.find('python')
Out[21]: 6
In [22]: s.rfind('python')
Out[22]: 19
In [23]: s.replace('python','linux')
Out[23]: 'hello linux,learn linux'
In [24]: s1 = s.replace('python','linux')
In [25]: s1
Out[25]: 'hello linux,learn linux'
In [26]: s
Out[26]: 'hello python,learn python'
In [27]: s.count('python')
Out[27]: 2
In [28]: s.count('p')
Out[28]: 2
In [29]: s.count('i')
Out[29]: 0
split:
join:
In [30]: ip = '172.25.254.10'
In [31]: ip1 = '1172.25.254.10'
In [32]: ip1.split('.')
Out[32]: ['1172', '25', '254', '10']
In [33]: date = '2018-11-18'
In [34]: date.split('-')
Out[34]: ['2018', '11', '18']
In [35]: date.split('.')
Out[35]: ['2018-11-18']
In [37]: date.replace('-','/')
Out[37]: '2018/11/18'
In [38]: ip = ['1172', '25', '254', '10']
In [39]: ''.join(ip)
Out[39]: '11722525410'
In [40]: ':'.join(ip)
Out[40]: '1172:25:254:10'
In [41]: '*'.join(ip)
Out[41]: '1172*25*254*10'