博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day01 格式化输出和while循环的两个小练习
阅读量:6158 次
发布时间:2019-06-21

本文共 2383 字,大约阅读时间需要 7 分钟。

练习1.模拟登陆判断(3次机会)

r_name = 'xianyu'r_password = '123456'i = 3       # 用来控制循环次数while i > 0:    name = input('请输入你的账号:')    i -= 1    if name == r_name:                                                  # 输入的账号正确时        password = input('请输入您的密码')                              # 可继续输入密码        if password == r_password:                                      # 若密码正确            print('登录成功, %s 欢饮您!' %(r_name))                     # 登录成功,退出循环            break        else:                                                           # 若密码错误            if i:                print('密码输入错误,您还有 %s 次机会尝试,请重新登录' %(i))  # 提示用户剩余机会            else:                con = input('3次机会已用完,您是否还要继续尝试?Y')                if con == 'Y':                    i = 3    else:                                                               # 输入的账号错误时        if i:            print('您输入的账号有误,请重新输入,\n 还有 %s 次机会' %(i))        else:            con = input('3次机会已用完,您是否还要继续尝试?Y')            if con == 'Y':                i = 3

练习2.求1-2+3-4+5-6...+99的值,要求跳过88

# 方法一i = 1sum = 0while i < 100:    if i % 2:        sum += i    else:        if i == 88:            pass        else:            sum -= i    i += 1print(sum)# 方法二j = 0k = -1      # 把所有的都当做加法,减偶数就相当于加上一个负偶数,k用来表示正负sum2 = 0while j < 99:       # i 是从零开始的,先自加了    j += 1    if j == 88:        k = -k        continue    else:        k = -k        sum2 += j*kprint(sum2)

在第一个例子中,使用了 %s 。%s相当于一个占位符,可用来进行格式化输出,一般字符串用%s占位,数字用 %d 占位

在格式化输出的字符串中,若同时存在%,需要使用两个 %% 进行转义表示 

str = '''-------------- %s 的自我介绍------------姓名: %s年龄: %d身高: %d cm体重: %d kg性别: %s%s ,你的身体素质打败了 %d%% 的人.------------------------------------------''' %(name,name,age,height,weight,sex,name,25)print(str)

在上面的代码中,占位符必须与后面的值一一匹配.最后的两个%实际显示出来只有一个

格式化输出的另一种方法时使用字符串的 .format() 方法,任然以上面的代码为例使用.format方法来进行格式化,有三种方式

str = '''-------------- {} 的自我介绍------------姓名: {}年龄: {}身高: {} cm体重: {} kg性别: {}{} ,你的身体素质打败了 {}% 的人.------------------------------------------'''.format(name,name,age,height,weight,sex,name,25)print(str)

在这种方式中,所有的占位符都可以用{}来代替.最后的值仍要一一匹配,name出现了3次

第二种方法

str = '''-------------- {0} 的自我介绍------------姓名: {0}年龄: {1}身高: {2} cm体重: {3} kg性别: {4}{0} ,你的身体素质打败了 {5}% 的人.------------------------------------------'''.format(name,age,height,weight,sex,25)print(str)

在这种方法中,相当于对后面的值进行了索引编号,按照编号对应,不用重复书写

第三种方法与第二种类似,只是将索引换为变量名,再在后面对变量进行赋值即可,此处不再赘述.

转载于:https://www.cnblogs.com/87pzy/p/10517913.html

你可能感兴趣的文章
每天一个linux命令(19):find 命令概览
查看>>
MySQL kill操作
查看>>
windows下看端口占用
查看>>
Decommissioning a Domain Controller 降域控
查看>>
Character中的奇葩
查看>>
c++书籍推荐
查看>>
互联网通用架构技术----缓存雪崩
查看>>
Dell R710服务器磁盘恢复数据库一例(记录)
查看>>
我的友情链接
查看>>
Ionic3 通讯录索引的实现
查看>>
轻松监听Azure service health 状态
查看>>
Matlab 进行FFT
查看>>
Eclipse 工作台用户指导>视图和编辑器
查看>>
项目常用的PHP代码
查看>>
Python自动化开发学习22-Django下(Form)
查看>>
算法-排序
查看>>
获取SQL SERVER某个数据库中所有存储过程的参数
查看>>
在Linux下编译安装Apache2(2)
查看>>
Method Swizzling 处理一类简单的崩溃
查看>>
AngularJS学习!
查看>>