python正课day4

今日学习内容:

一、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 = 0
name = '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 = 0
name = '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 = 0
name = 'sean'
word = '18'
tag = True
while 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)                 #表示  取键

猜你喜欢

转载自www.cnblogs.com/linda-liu/p/11793905.html