python的基本知识.2

时间:2024-03-31 22:03:04

##for循环语句##
for 循环使用的语法:
for 变量 in range(10):
循环需要执行的代码

“”"
1+2+3+…+100=
C语言或者java
“”"
sum = 0
for(int i=1;i<100,i++):
sum = sum + i
print sum
“”"
sum = 0
for i in range(1,101): # i=1,2,3…100
sum = sum + i
print(sum)
最后的结果为5050

“”"
In [9]: range(5)
Out[9]: [0, 1, 2, 3, 4]

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

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

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

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

In [14]: range(0,10,2)
Out[14]: [0, 2, 4, 6, 8]

In [15]: range(2,11,2)
Out[15]: [2, 4, 6, 8, 10]

***range()函数
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop,step为步长,步长3表示中间相隔2.

“”"
需求1:求1~100的之间的所有偶数的和
需求2:求1~100之间的所有奇数的和
需求3:用户输入一个整数,求该数的阶乘:3!=321
num = int(input(‘Num:’))
res = 1
for i in range(1,num+1):
res = res * i
print(’%d的阶乘的结果为:%d’ %(num,res))
for 循环使用的语法:
for 变量 in range(10):
循环需要执行的代码
else:
循环结束执行的代码

用户登陆程序
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后再次登陆!’)

##2.break与continue##

break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面的代码不再执行,但是循环依然继续
exit():结束程序的运行
“”"
for i in range(10):
if i == 5:
#break
continue
#exit()
#print(‘hello python’)
print(i)

print(‘hello python’)

##3.实现命令符的提示符##

倒入模块os
import os
for i in range(1000):
cmd = input(’[[email protected] test]$ ')
if cmd:
if cmd == ‘exit’:
print(‘logout’)
break
print(‘hello’) # 不会执行

    else:
        print('run %s' %(cmd))
        # 运行shell命令
        os.system(cmd)
else:
    continue
    print('hello') #不会执行

##4.while循环##
while 条件语句:
满足条件执行的语句

else:
不满足条件执行的语句
“”"
1+2+3+…+100
sum = 0
i = 1
while i <=100:
sum +=i
i += 1
print(sum)

trycount = 0
for i in range(3):
while trycount < 3:
name = input(‘用户名:’)
passwd = input(‘密码:’)
if name == ‘root’ and passwd == ‘westos’:
print(‘登陆成功’)
break
else:
print(‘登陆失败’)
print(‘您还剩余%d次机会’ % (2-trycount))
trycount += 1
else:
print(‘登陆次数超过三次,请等待100s后再次登陆’)

##5.while的死循环##
注意,进入while死循环会使电脑变得非常卡顿

while True:
print(’~~~~’)

while 1/2/‘python’: bool(1)
print(’~~~~’)

while 2>1:
print(’~~~~~’)
##6.while的嵌套##

在控制台连续输出5行*,每一行*的数量依次递增
*
**







**
*

1 1
2 2
3 3
4 4
5 5




**
*
*
**




“”"
row = 1
while row <= 9:
col = 1
while col <= row:
print(’%d * %d = %d\t’ % (row, col, col * row),end=’’)
col += 1
print(’’)
row += 1

python的基本知识.2

九九乘法表

python的基本知识.2

end=‘ ’表示换行

\t:在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐
print(‘1 2 3’)
print(‘10 20 30’)
print(‘1\t2\t3’)
print(‘10\t20\t30’)

\n:在控制台输出一个换行符

print(‘hello\npython’)

:转义字符

print(‘hello’world’)

##7.字符串##

字符串的定义#
a = ‘hello’
b = “westos”
c = ‘what’s’
d = “what’s”
e = “”"
用户管理系统
1.添加用户
2.删除用户
3.显示用户

“”"
print(e)
print(type(e))

#字符串的特性#

s = ‘hello’
索引:0,1,2,3,4 (索引值是从0开始的)
print(s[0])
print(s[4])
print(s[-1]) # 拿出字符串的最后一个字符

python的基本知识.2

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

python的基本知识.2

重复
print(s * 10)

连接
print('hello ’ + ‘python’)

成员操作符
print(‘he’ in s)
print(‘aa’ in s)
print(‘he’ not in s)

python的基本知识.2

#字符串的大小写#
In [1]: ‘Hello’.istitle()
Out[1]: True

In [2]: ‘hello’.istitle()
Out[2]: False

In [3]: ‘hello’.isupper()
Out[3]: False

In [4]: ‘hello’.upper()
Out[4]: ‘HELLO’

In [5]: ‘Hello’.islower()
Out[5]: False

In [6]: ‘Hello’.lower()
Out[6]: ‘hello’

In [7]: ‘hello’.title()
Out[7]: ‘Hello’

#字符串开头与结尾的匹配##

filename = ‘hello.loggg’
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(‘不能爬取网页’)

#字符串去掉两边的空格#

注意:去除左右两边的空格,空格为广义的空格 包括:\n \t
In [8]: s = ’ hello ’

In [9]: s.strip()
Out[9]: ‘hello’

In [10]: s.lstrip()
Out[10]: 'hello ’

In [11]: s.rstrip()
Out[11]: ’ hello’

In [12]: s = '\nhello ’

In [13]: s.strip()
Out[13]: ‘hello’

In [14]: s = ‘\nhello\t\t’

In [15]: s.strip()
Out[15]: ‘hello’

In [16]: s = ‘helloh’

In [17]: s.strip(‘h’)
Out[17]: ‘ello’

In [18]: s.strip(‘he’)
Out[18]: ‘llo’

In [19]: s.lstrip(‘he’) ##表示去掉he、h、和e的所有东西,类似于排列组合##
Out[19]: ‘lloh’

#判断数字#

[[:digit:]]
“”"
只要有一个元素不满组,就返回false
print(‘1234’.isdigit())
print(‘fafsdv’.isalpha())
print(‘fvavds12314’.isalnum())

#字符串的替换与搜索#
s = ‘hello world hello’

find找到子串,并返回最小的索引
print(s.find(‘hello’))
print(s.find(‘world’))

rfind找到子串,并返回最大的索引值
print(s.rfind(‘hello’))

python的基本知识.2

替换字符串中所有的’hello’为’westos’
print(s.replace(‘hello’,‘westos’))

#字符串的对齐#

“”"
print(‘学生管理系统’.center(30))
print(‘学生管理系统’.center(30,’’))
print(‘学生管理系统’.center(30,’@’))
print(‘学生管理系统’.ljust(30,’
’))
print(‘学生管理系统’.rjust(30,’*’))

#字符串的统计#
“”"
print(‘hello’.count(‘l’))
print(‘hello’.count(‘ll’))
print(len(‘hello’))

#字符串的分离和连接#

s = ‘171.25.254.250’
s1 = s.split(’.’)
print(s1)
print(s1[::-1])

date = ‘2018-12-04’
date1 = date.split(’-’)
print(date1)

连接,通过指定的连接符,连接每个字符串
print(’’.join(date1))
print(’/’.join(date1))
print(’@’.join(‘hello’))

python的基本知识.2

##8.求最大公约数和最小公倍数##
输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(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):
if num1 % i ==0 and num2 %i == 0:
# 当循环结束的时候,gys中保存的就是最大的数
gys = i

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

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

##9.循环练习##
#猜数字游戏
if , while, break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
“”"
for语句
python的基本知识.2

while语句

python的基本知识.2

##10.字符串练习##

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

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

示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数
“”"
num = input(‘Num:’)
print(num == num[::-1])

##11.变量名练习##

变量名是否合法:
1.变量名可以由字母,数字或者下划线组成
2.变量名只能以字母或者下划线开头
s = ‘[email protected]

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))

用for语句

python的基本知识.2

##12.字符串统计练习##

给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:
‘A’ : Absent,缺勤
‘L’ : Late,迟到
‘P’ : Present,到场
如果一个学生的出勤纪录中不超过一个’A’(缺勤)并且不超过两个连续的’L’(迟到),
那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。
示例 1:

输入: “PPALLP”
输出: True
示例 2:

输入: “PPALLL”
输出: False

python的基本知识.2