小菜学python——第二天 条件分支语句和循环

1.条件分支语句

(1)语句格式

if表达式1:

       语句组1

elif表达式2:

        语句组2

......

elif表达式n:

        语句组n

else:

        语句组n+1

if语句中也可以没有elif和else

if语句中的语句组由一条或多条语句组成,必须向右缩进至少一个空格,同一个语句组的缩进程度必须一样,如果下一行要缩进那么本行必须以”:“结尾

缩进时要么都用制表符(Tab)要么都用空格,否则可能会导致报错

#示例:

if int(input())==5

       print("a",end=" ")

       priint("b",end=" ")

print("c")

输入:5  输出:abc

输入:4  输出:c

第四行没有缩进所以不是if语句中的一部分,一定会被顺序执行到

(2)嵌套

   在一条if语句的某个分支(语句组)里,还可以再写if语句,称为if语句的嵌套

#示例

a=int(input())

if a>0:

    if a%2:

         print("good")

    else:

         print("bad")

(3)区别if...elif...else和多个if语句

写法1:                                                         

if a<3:                                                               

    语句组1                                                              

elif a>=3 and a<10:                                          

   语句组2                                                                 

else:

   语句组3

写法2:

if a<3:

    语句组1

if a>=3 and a<10:

    语句组2

if a>=10:

    语句组3

注意:写法2和写法1所执行的结果是不一样的

(4)举两个例子

1.奇偶数判断

给定一个整数,判断该数是奇数还是偶数,如果是偶数输出even,如果是奇数输出odd

if int(input())%2==1:
     print("odd")
else:
     print("even")

2.判断子串

输入两行字符串,要求判断第一行字符串是不是第二行字符串的子串。如果是,输出yes,否则输出no

s1,s2=input(),input()
if s1 in s2:
      print("yes")
else:
      print("no")

2.for循环语句

(1)语句格式

for变量in序列:

          语句组1

else:

          语句组2

语句组1被执行的次数为循环次数

(2)序列

序列可以是range(...),字符串,列表,元组,字典,集合

range(n)是一个序列,是一个不包含n在内的左闭右开的区间[0,n)

range(0)和range(n,n)为空序列,若n小于等于m则range(m,n)也是空序列

range(m,n,s)表示一个序列,m是起点,n是终点,s为步长。序列的第一个元素是m,第二个是m+s,第三个是m+2s...终点n取不到。如果m大于n且s为负数则为从大到小取。

len(x)可求x的长度,前提是x为字符串,列表,元组,字典或集合

ord(x)用于求字符x的编码

chr(x)用于求编码为整数x的字符

(3)一些例子

1.用for循环连续输出26个小写字母:

for i in range(26):
       print(chr(ord("a")+i),end=" ")

2.输入n个整数求和

n=int(input())
total=0
for i in range(n):
      total+=int(input())
print(total)

3.从小到大输出正整数n的因子

n=int(input())
for i in range(1,n+1):
    if n%i==0:
      print(i,end=" ")

4.多次求n个数的和

m=int(input())
for i in range(m):
     n=int(input())
     total=0
     for i in range(n):
         total+=int(input())
     print(total)

(4)break语句和continue语句

break语句用于跳出循环

continue语句用于结束本次循环,开始下一次循环

3.while循环语句

(1)语句格式

    while表达式exp:

             语句组1

    else:

             语句组2

(2)两个例子

1.求最小公倍数

输入三个不超过100的正整数,求它们的最小公倍数

s=input.split()
x,y,z=int(s[0]),int(s[1]),int(s[2])
n=m=max(x,y,z)
while n%x or n%y or n%z:
      n+=m
print(n)

2.十进制转二进制数

输入一个十进制形式的整数,请输出其二进制表示形式

n=int(input())
if n<0:
   n=-n
   print("-",end="")
elif n==0:
   print("0")
   exit()
result=""
while n>0:
    result+=str(n%2)
    n//=2
print(result[::-1])

   

x[::-1]是将字符串x倒过来的字符串

exit()是python函数,执行它会导致程序结束

4.异常处理

(1)基本写法

try:

    语句组1

except Exception as e:

    语句组2

如果执行过程没有产生异常则不会执行语句组2,如果产生异常程序不会终止而是从语句组1中跳出去执行语句组2

except Exception as e:可以简写为except:

(2)举个例子

求最大整数

输入若干行整数输出所有整数中最大的那个

s=input()
lst=s.split()
maxV=int(lst[0])
while True:
       for x in lst:
         maxV=max(maxV,int(x))
  try:
    s=input()
  except Exception as e:
    break
  lst=s.split()
print(maxV)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值