python语句中生成小数的语句_python中的语句语法(2),Python,二

find

find作用:

返回字符串搜索的最小索引。

84f3b26c49a1cf9c175f5ca5a81c57f3.png

rfind: 返回最大索引

f558419dd5298f15fa674cb5fdcbd0ee.png

replace

424ce00875254db69a090239b7c5139e.png

center

2f935882872c4a5e2390556d42f02a7c.png

028e3fa8023b6e3119c26e1c02a84730.png

复制,返回上一步

选中文字:

053e14be2303c0d899d6aa16550c24d0.png

按 ctrl + d 自动复制到后面:

257379a57815ffa07e345c422d5c1c8b.png

ctrl + z 返回上一步:

478c8d5455a4379b2814ad8549878b11.png

光标至于所在行:

03ccef72367d5ce3d224f831e5759819.png

ctrl + d :复制到下一行:

687165216b2ebb9ed7254b7fb16f62ef.png

count

print('hello'.count('l')) 统计l 的数量

print('hello'.count('ll')) 统计ll的数量

print(len('hello')) 统计字符长度用len函数

fd52918d266b01e9610e837a885fc233.png

分离split,连接join

分离

s = '172.25.254.250'

s1 = s.split('.') 以点为分隔符分开

print(s1)

print(s1[::-1]) 倒叙

连接

date = '2019-04-15'

date1 = date.split('-') 以-为分隔符分开

print(date1)

print(''.join(date1)) 无连接符

print('/'.join(date1)) 以/为分隔符连接

a98672631c5d328f92dcb70ed041ecfa.png

练习:

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

你需要根据这个学生的出勤纪录判断他是否会被奖赏。 示例 1: 输入: “PPALLP” 输出: True 示例 2: 输入:

“PPALLL” 输出: False

s = input()

if s.count('A') <= 1 and s.count('LLL') == 0:

print(True)

else:

print(False)

print(s.count('A') <= 1 and s.count('LLL') == 0)

ac94879458c9bb889e30447eeef5684b.png

也可以改写为:

839fbf0c7ab364922413334a13bf04cc.png

括号内条件的结果本来就为布尔值。True或Flase,我们可以直接打印出来。

练习二:

题目描述:

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用 空格分割, 单词之间只有一个空格,前后没有空格。 比如:

示例1:

输入:hello xiao mi

输出:mi xiao hello

li = input().split()

# print(li) 查看效果

# print(li[::-1]) 查看效果

print(' '.join(li[::-1])) 最终命令

69fb6fe5ad4a9f6067bf7e19ceaa89f7.png

简化:

print(' '.join(input().split()[::-1]))

效果:

d72c990cf35fe6f84e6ab9acca31f84c.png

练习三:

题目描述: 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,>输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”

s1 = input('s1:')

s2 = input('s2:')

for i in s1:

if i in s2:

s1 = s1.replace(i,'')

print(s1)

c2eff7f027cc86c8587b30c8a12ce708.png

练习四:

设计一个程序,帮助小学生练习10以内的加法

详情:

- 随机生成加法题目;

- 学生查看题目并输入答案;

- 判别学生答题是否正确?

- 退出时, 统计学生答题总数,正确数量及正确率(保留两>位小数点);

import random 导入随机数模块

count = 0 总答题数

right = 0 答对数

while True: 死循环

a = random.randint(0,9) 导入a,b

b = random.randint(0,9)

print('%d+%d' %(a,b)) 题目

question = input('please inout your answer:(q for exit)') 用户回答

result = a + b

if question == str(result): 转换类型

print('ok!')

count +=1

right +=1

elif question == 'q': 退出选择

print('exit')

break

else:

print('Failed')

count += 1

percent = right / count

print('测试结束,共回答%d道题,正确个数为%d,正确率为%.2f%%' %(count,right,percent * 100))

list(列表)数据类型

普通数组:

Z = [ 13,15,17]

只能存放同一类型数据。

列表:增强版的数组,可以存放任意类型的数据。,而且列表本事就是一个数据类型。

c9bba3ab44fb22ca5790c685ee79df0c.png

li = [1,1.2,True,'tom',[1,2,3,4,5]]

print(li)

print(type(li))

46e704410b72c30130ac86cbf317e30d.png

列表特性

service = ['http','ssh','ftp']

索引:

print(service[0])

print(service[-1])

1c0e368f4ad9e13e04ba42ffa2f742ee.png

切片:

print(service[::-1])

print(service[1:])

print(service[:-1])

99668509e5dd78d9e7c78389731e09fd.png

重复:

5c60458a7f869c3ddf40ac0d8db51a32.png

连接:

994f3c36615fbebbd2f8cef1a1416a8c.png

成员操作符:

52a10b130b0d0af8b46e94bdb8430bd5.png

5c96f94f1ce89b037bfa86357822a6ff.png

迭代(循环遍历):

a3808cbf8385bd331ddaed6aba8f0a9b.png

嵌套列表中的索引切片:

service2 = [['http','80'],['ssh','22'],['ftp','21']]

# index

print(service2[0][1])

print(service2[-1][1])

#slide

print(service2[:][1])

print(service2[:-1][0])

c1c2083f66a531424e67a88652a1e09e.png

练习:

假定有下面这样的列表:

names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]

输出结果为:‘I have fentiao, fendai, fensi and apple.’

ames = ['fentiao', 'fendai', 'fensi', 'apple']

print('I have ' + ', '.join(names[:-1]) + ' and ' + names[-1])

d4527ca78205d3f90dab9c0f23c5dc30.png

列表的添加

# tianjia

service = ['http','ftp','ssh']

print(service + ['firewall'])

#append

service.append('https')

print(service)

#extend

service.extend(['mysql','firewall'])

print(service)

#insert 在指定位置加入

service.insert(1,'samba')

print(service)

6869d079ff0c0ff599468c6828aad80c.png

列表的删除

>>> service = ['http','ftp','ssh']

>>> service

['http', 'ftp', 'ssh']

>>> service.pop() pop弹出一个函数。

'ssh'

>>> service

['http', 'ftp'] 可以看见不见pop了

由于企业中我们弹出的东西还存在于内存中,我们日后可能会用到,所以赋给一个变量。

>>> service = ['http','ftp','ssh']

>>> a = service.pop()

>>> a

'ssh'

>>> service

['http', 'ftp']

弹出指定位置。

a17d946fbf49d50ae0b9910926a61beb.png

###remove

直接删除列表中的值。

beb595327988b88b4760c577c3d9202b.png

可以看到a为空值,因为ftp已经删除了

###从内存中删除 del

a2adb6964359a0b77c17fe4b8dff7dd8.png

列表的更改

索引:

fc5b290214cb272045530013e3eb1eeb.png

切片:

f20e3696bfa065e7090942cf25139bb9.png

列表的查看

#chakan

service = ['http','ftp','nfs','http']

print(service.count('http')) 查看http个数

print(service.index('nfs')) 查看nfs所在位置

print(service.index('http',0,13)) 在0~13字符间搜索http

2fa2520a69693d6904c9c8d66aa8bfaa.png

有两个http,nfs在第三个,http在第一个。

列表的排序

#paixu

service = ['http','ftp','nfs','http']

service.sort()

print(service)

b01a13e22b5fb432427dc68349201a2e.png

默认按照ASCII码排序。

In [13]: names = ['tom','mike','jerry','Jean']

In [14]: names

Out[14]: ['tom', 'mike', 'jerry', 'Jean']

In [15]: names.sort(key=str.lower) 按小写排序

In [16]: names

Out[16]: ['Jean', 'jerry', 'mike', 'tom']

In [17]: names.sort(key=str.upper)

In [18]: names

Out[18]: ['Jean', 'jerry', 'mike', 'tom'] 可见无大小写的区别,都按ASCII码排序。

import random

li = list(range(10))

print(li)

random.shuffle(li) 打乱li列表

print(li)

66520a6c712bb342c0cdbea43fe57463.png

5d45c8e1cc561c81cfc2aebffeedb500.png

每次都不同。

练习:

添加用户:

1). 判断用户是否存在?

2). 如果存在, 报错;

3). 如果不存在,添加用户名和密码分别到列表中;

删除用户

1). 判断用户名是否存在

2). 如果存在,删除;

3). 如果不存在, 报错;

用户登陆

用户查看

通过索引遍历密码

退出

“”"

“”"

1.系统里面有多个用户,用户的信息目前保存在列表里面

users = [‘root’,‘westos’]

passwd = [‘123’,‘456’]

2.用户登陆(判断用户登陆是否成功

1).判断用户是否存在

2).如果存在

1).判断用户密码是否正确

如果正确,登陆成功,推出循环

如果密码不正确,重新登陆,总共有三次机会登陆

3).如果用户不存在

重新登陆,总共有三次机会

users = ['root','westos']

passwds = ['123','456']

trycount = 0 计数器

while trycount < 3:

inuser = input('Username:')

trycount +=1

if inuser in users:

inpasswd = input('Password:')

index = users.index(inuser) # user.index是找到inuser的对应下标,方便找到对应的密码

passwd = passwds[index]

if inpasswd == passwd:

print('User %s login success.' %inuser)

break

else:

print('%s login failed:Password not correct.' %inuser)

else:

print('User %s not exist.' %inuser)

else:

print('No more chance.')

81dc25a270f14a5f48df80a2cd856db1.png

练习2:

后台管理员只有一个用户: admin, 密码: admin

当管理员登陆成功后, 可以管理前台会员信息.

会员信息管理包含:

添加会员信息

删除会员信息

查看会员信息

退出目录

print('管理员登陆'.center(50,'*'))

inuser = input('Username:')

inpasswd = input('Password:')

users = ['root', 'westos']

passwds = ['123', '456']

if inuser == 'admin' and inpasswd == 'admin':

print('管理员登陆成功')

print('会员信息管理'.center(50,'*'))

print("""

目录:

1.添加会员信息

2.删除会员信息

3.查看会员信息

4.退出

""")

while True:

choice = input('Please input your choice:')

if choice == '1':

print('添加会员信息'.center(50,'*'))

newuser = input('Newuser Name:')

if newuser in users:

print('%s user is aready exist.')

else:

newpass = input('Newuser passwd:')

users.append(newuser)

passwds.append(newpass)

print(users)

print(passwds)

elif choice == '2':

print('删除会员信息'.center(50,'*'))

deluser = input('Delete user:')

if deluser not in users:

print('User%s not exist')

else:

delpass = input('Delete Password:')

users.remove(deluser)

passwds.remove(delpass)

print(users)

print(passwds)

elif choice == '3':

print('查看会员信息'.center(50,'*'))

print(users)

print(passwds)

elif choice == '4':

exit()

else:

print('Plesae check your input')

else:

print('Login failed')

54c34a76244e59968ddaa3ae93e642eb.png

练习三:

“”"

栈的工作原理

入栈 append

出栈 pop

栈顶元素     # 栈为先进后出,所以栈顶元素为最后一个进去的

栈的长度 len

栈是否为空 len == 0

“”"

info = """

栈的工作原理

1.入栈 append

2.出栈 pop

3.栈顶元素

4.栈的长度 len

5.栈是否为空 len == 0

"""

print(info)

stack = []

while True:

choice = input('your choice:')

if choice == '1':

item = input('please input item:')

stack.append(item)

print('%s 入栈 success' %item)

elif choice == '2':

if not stack:

print('栈为空')

else:

item = stack.pop()

print('%s 出栈 success' %item)

elif choice == '3':

if len(stack) == 0:

print('栈为空')

else:

print('栈顶元素 is %s' %stack[-1]) #zuihouyige

elif choice == '4':

print('栈的长度 is %s' %(len(stack)))

elif choice == '5':

if len(stack) == 0:

print('栈为空')

else:

print('栈 not 为空')

elif choice == 'q':

print('logout')

break

else:

print('please check your input')

效果:

d30aa5f2293ef45a09f13c598a044614.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值