Python入门-Day4

判断语句

(注意不要少写了冒号:)
if 判断条件:
执行语句……

a=2
if a>3:
    print('yes')#不满足条件,不执行print
a=2
if a<3:
    print('yes')
#输出结果
yes

if 判断条件:
执行语句……
else:
执行语句……
(如果if判断是False,不要执行if的内容,去把else执行)

a=2
if a<3:
    print('yes')
else:
    print('no')
#输出结果
yes

if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
else:
<执行3>
(if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else)

a=2
if a<2:
    print('小于二')
elif a>2:
    print('大于二')
else:
    print('等于二’) 

如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

a=2
if a>1 and a<3: #判断值是否在1~3之间
    print('yes')
#输出结果
yes
a=2
if a<3 or a>4: #判断值是否小于3或大于4
    print('yes')
#输出结果
yes
循环语句

1.for…in循环,依次把list或tuple中的每个元素迭代出来

a=[1,2,3]
for b in a:
    print('当前数字:',b)
#输出结果
当前数字: 1
当前数字: 2
当前数字: 3
a=0
for b in [1,2,3,4,5,]:
    a=a+b
print(a)
c=0
for d in range(6):
    c=c+d
print(a)
#输出结果
15
15
for e in [1,2,3,4,5,6,7,8,9,]:
    for f in [1,2,3,4,5,6,7,8,9,]:
        g=e*f
        print(e,'*',f,'=',g)

2.while循环,只要条件满足,就不断循环,条件不满足时退出循环。

a=100
while a>50:
    a=a-10
print(a)
#输出结果
50

在循环过程中,break语句可以提前退出循环,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

三目表达式

格式:为真时的结果 if 判定条件 else 为假时的结果

a=2
if a>3:
    print('hello')
else:
    print('world')
#输出结果
world

x=2
y=3
print('hello' if(x>y) else 'world')#使用三目运算符
#输出结果
world
容器

Python中常见的数据结构可以统称为容器。如列表、元祖、字典等。

可迭代对象

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器。

list=[x for x in range(2)]
a=iter(list)
type(a)
#输出结果
list_iterator

list=(x for x in range(6))
a=iter(list)
print(next(a))
print(next(a))
#输出结果
0
1
生成器

把一个列表生成式的[]改成(),就创建了一个generator

list=[x for x in range(10)]
print(list)
list2=(x for x in range(10))
type(list2)
#输出结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
generator

如果要一个一个打印出来,可以通过next()函数获得generator的下一个返回值。generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。

list=(x for x in range(2))
print(next(list))
print(next(list))
print(next(list))
#输出结果
0
1
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<ipython-input-10-6cc6f3687fa5> in <module>()
      2 print(next(list))
      3 print(next(list))
----> 4 print(next(list))
      5 print(next(list))
      6 print(next(list))

StopIteration: 

使用for循环打印

list=(x for x in range(2))
for a in list:
    print(a)
#输出结果
0
1
作业
import random
a = 1
while a!=2:
    while a==1:
        num = input('请输入一个0-9之间的数字:')
        if str.isdigit(num):
            num1=int(num)
            if num1<0 or num1>9:
                print('您输入的数字不在0~9之间,请重新输入:')
            else:
                break
        else:
            print('您输入的不是数字,请输入0~9间的数字:')
    _list=random.sample(range(0,9),3)
    print(_list)
    if num==_list[0]:
        print('恭喜您荣获第一名!')
    elif num==_list[1]:
        print('恭喜您荣获第二名!')
    elif num==_list[2]:
        print('恭喜您荣获第三名!')
    else:
        print('你未得奖。')
    a=(input('输入1重新开始游戏,输入2则结束游戏'))
    a=int(a)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值