python正课day4

☆樱花仙子☆ 提交于 2019-12-03 11:26:10

今日学习内容:

一、for 嵌套

例子一:输出九九乘法表

下面的图中: \t 表示一个tab键

 

 

 

例子二:输出  ******

                       ******

                       ******   这中图案

for i in range(3):
    for j in range(6):
        print('*', end='')
    print()

一、for与break,           for与continue

 例子:0~15中,不打7和8以后的数字

for i in range(0, 16):                             
    if i == 7:
        continue                       # 跳过本次循环,不打印print 直接执行下一次循环                                   
    elif i == 9:
        break                          # i 等于9时  就结束for循环遍历。
    print(i)

# for循环正常执行结束,就会执行else对应的代码块
# 非正常结束,例如break打断,就不会执行代码结果

0
1
2
3
4
5
6
8

 

 

二、while 嵌套 和 break的使用

案例一:用户输入用户名,密码。若都输入正确,则显示登录成功,并结束输入。总共有三次输入机会,若三次都不正确,则显示登录失败,并结束输入。

 

 

 

实现方法一:count = 0
name = 'sean'
word = '18'                                                       #这是整数int型。这里加引号 或者下面的输入 加int()
while count < 3:
    username = input('请输入您的用户名:')
    password = input('请输入您的密码:')                           #这是字符串str型
    if username == name and password == word:
        print('登录成功')
        break
    else:
        print('登录失败')
    count +=1

注意:数据类型要保持一致实现方法二:
count = 0name = 'sean'word = '18'while True:    username = input('请输入您的用户名:')    password = input('请输入您的密码:')    if username == name and password == word:        print('登录成功')        break    else:        count +=1        if count == 3:            print('登录失败')            break
 

案例二: 优化案例一。若三次都不正确,则显示登录失败,并锁住账号,并结束输入。

count = 0
name = 'sean'
word = '18'
while count < 3:
    username = input('请输入您的用户名:')
    password = input('请输入您的密码:')
    if username == name and password == word:
        print('登录成功')
        break
    else:
        print('登录失败')
    count +=1
    if count == 3:
        print('锁定账户')
        break                    问:不加也行呀?


count = 0
name = 'sean'
word = '18'
while count < 3:
    username = input('请输入您的用户名:')
    password = input('请输入您的密码:')
    if username == name and password == word:
        print('登录成功')
        break
    else:
        print('登录失败')
    count +=1
if count == 3:               问:if写在外面一样呀?  其实在此题中一样,但是本质上不一样。
     print('锁定账户')
             

案例三:while True 是真条件,会一直循环,只能用break来结束循环

count = 0
name = 'sean'
word = '18'
while True:
    username = input('请输入您的用户名:')
    password = input('请输入您的密码:')
    if username == name and password == word:
        print('登录成功')
        break
    else:
        print('登录失败')
    count +=1
   注意: 因为 while True 永远为真,所有一直会让输入。count 没有作用了。外,下面的if语句也没有了作用
if count == 3:
    print('锁定账户')
注:只能有break 结束 while True count = 0name = 'sean'word = '18'while True:    username = input('请输入您的用户名:')    password = input('请输入您的密码:')    if username == name and password == word:        print('登录成功')        break    else:        count +=1        if count == 3:            print('登录失败')            break

案例四:升级案例一。登录成功后,执行指令操作,若用户输入exit指令,就结束输入。

实现方法一:count = 0
name = 'sean'
word = '18'
while True:
    username = input('请输入您的用户名:')
    password = input('请输入您的密码:')
    if username == name and password == word:
        print('登录成功')
        while True:                                    # 因为一直是真值,所有一直让执行指令.
            cmd = input('请输入您的指令:')
            if cmd == 'exit':
                break                                  # break 结束离他最近的循环.这时候只是结束了 while 下面的 cmd 输入语句
        break                                          # 这里的break 结束的是 最上面的 while 下面的 username和password 输入
    else:
        count +=1

        if count == 3:
            print('登录失败')
            break实现方法二:
count = 0name = 'sean'word = '18'tag = Truewhile tag:    username = input('请输入您的用户名:')    password = input('请输入您的密码:')    if username == name and password == word:        print('登录成功')        while tag:                                    # 这时候tag是一个bool值,是可以变的.            cmd = input('请输入您的指令:')            if cmd == 'exit':                tag = False                           # 这里把False 赋给tag 是把bool值给改变了。所有while 下面的输入语句就结束了    else:        count +=1        if count == 3:            print('登录失败')            break                             # 这里的break 可以换成语句 tag=False 或者不换。如果这里没有break 或者 没有把tag改成 假的布尔值,则最上面的 while 下面的输入语句还会执行
 

 

三、if循环、判断、嵌套

     例子:if嵌套。判断真假时,用is_xxx 来当变量 ,并接受真或假的布尔值

gender = 'female'

is_beautiful = True
is_success = True
age = int(input("请问您的年龄:"))
if gender == 'female' and 24 > age > 18 and is_beautiful:
    print("小姐姐,给个微信")
    if is_success:
        print("在一起")
    else:
        print('打扰了')

四、range 生成器   

       1.顾头不顾尾

       2.要素:start  stop  sep (头、尾、步长),步长为负数,说明反着来

五、字典内置方法

d1 = {'a':1, 'b':2, 'c':3}
for i in d1:
    print(d1[i])           #表示  取键对应的 值
    print(i)                 #表示  取键

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!