热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python格式化输出和while循环的两个小练习[Python基础]

练习1.模拟登陆判断(3次机会)r_namexianyur_password123456i3#用来控制循环次数whilei0:nameinput(请输入你的账号:)i

python

练习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("您输入的账号有误,请重新输入,

还有 %s 次机会" %(i))

else:

con = input("3次机会已用完,您是否还要继续尝试?Y")

if con == "Y":

i = 3

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

#Python学习交流群:778463939

# 方法一

i = 1

sum = 0

while i <100:

if i % 2:

sum += i

else:

if i == 88:

pass

else:

sum -= i

i += 1

print(sum)

# 方法二

j = 0

k = -1 # 把所有的都当做加法,减偶数就相当于加上一个负偶数,k用来表示正负

sum2 = 0

while j <99: # i 是从零开始的,先自加了

j += 1

if j == 88:

k = -k

continue

else:

k = -k

sum2 += j*k

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

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

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


推荐阅读
  • 本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ... [详细]
  • #print(34or4 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 本文将探讨2015年RCTF竞赛中的一道PWN题目——shaxian,重点分析其利用Fastbin和堆溢出的技巧。通过详细解析代码流程和漏洞利用过程,帮助读者理解此类题目的破解方法。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本文探讨了如何在 F# Interactive (FSI) 中通过 AddPrinter 和 AddPrintTransformer 方法自定义类型(尤其是集合类型)的输出格式,提供了详细的指南和示例代码。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 本文介绍了如何利用Python的高精度计算库mpmath实现π的100种不同计算方法。通过设置更高的精度和优化的数学函数,这些方法能够提供极其精确的结果。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
author-avatar
手机用户2502859523
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有