• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞java代码 3年前 (2022-05-21) 33次浏览 已收录 0个评论

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

<code class="language-python">r_<a href="https://www.gaodaima.com/tag/name" title="查看更多关于name的文章" target="_blank">name</a> = "xianyu"
r_<a href="https://www.gaodaima.com/tag/password" title="查看更多关于password的文章" target="_blank">password</a> = "123456"

i = 3       # 用来控制循环次数

while i > 0:
    name = input("请输入你的账号:")
    i -= 1
    if name == r_name:                                                  # 输入的账号正确时
        password = input("请输入您的<a href="https://www.gaodaima.com/tag/%e5%af%86%e7%a0%81" title="查看更多关于密码的文章" target="_blank">密码</a>")                              # 可继续输入密码
        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
</code>

www#gaodaima.com来源[email protected]搞@^&代*@码)网搞代码

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

<code class="language-python">#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)
</code>

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

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

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

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

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

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

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

第二种方法

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

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python 格式化输出和while循环的两个小练习

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址