Day05 条件和循环语句

运算符的优先级

  1. and的优先级比or的优先级高
    2.()(即小括号)优先级最高

if语句(包括elif和else)

if 条件表达式:  #冒号不能漏
	代码块①
elif 条件表达式:
  	代码块②
else:  #在上述所有的if和elif的条件表达式都为False时无论如何都执行
   	代码块③

表达式判断顺序为:从上往下,其中只会有一个代码块执行。
如果if后条件表达式返回的值为True,则执行代码块①,如果返回的值为False,则判断elif后的条件表达式,如果返回的值为True,则执行代码块②,但如果elif后条件表达式返回的值仍为False,则执行代码③
若没有else,则不一定返回值,但不会报错;
若有else,则一定会返回值,但可能报错

input语句

  1. 通过读取用户输入的值来获取值,所获取的参数都是字符串
  2. 输入数字前可能需要输入int(整数) 或 float(浮点数,即小数)或 eval(去掉字符串中的引号)
  3. 具有堵塞程序的作用(即你不输入字符串,那么程序永远都不会继续往下执行)

while语句(循环控制)

循环三要素:

while 条件表达式:  #冒号也不能漏
   	代码块

当条件表达式为True时,才会调用代码块

i += 1(while循环中常用的自增长)

例如:
while i < 10:
	i += 1

相当于i的值逐渐加1直到i的值到达10

while循环嵌套

while 表达式:
   while 表达式:
      代码块
   代码块

for 变量 in 循环规则:
   for 变量 in 循环规则:
       代码块
   代码块
例如:
i = 0  #外层循环初始值一定要放在外层循环之外。
while i < 10:
	  j=0  #内层循环的初始值一定要放在外层循环之内,内层循环之外。
	  while j < i+1:
		  print('*',end='')
		  j += 1
	  print()
	  i += 1
结果:
*****
*****
*****
*****
*****

关于print的(sheng)(huo)小技巧

print('内容' , end=' ') #在python原代码中print的end='\n'

作业

1.求1000以内所有的水仙花数

i = 100
while i < 1000:
    a = int(i % 10)
    c = int(i / 100)
    b = int(i - a - 100*c)/10
    if a*a*a + b*b*b + c*c*c == i:
        print(i)
    i += 1

2.获取用户输入的任意数,判断其是否是质数?

a = int(input("请输入任意一个自然数:"))
i = 2
j = 0
while a > i:
    if a % i == 0:
        print("您输入的不是质数!")
        j = 1
        break
    i += 1
if j == 0:
    print("您输入的是质数!")

3. 猜拳游戏:1)用户出拳(玩家-手动输入), 2)电脑-随机输入,3)判断输赢:玩家获胜/电脑获胜/平局

import random
a = input("石头剪刀布——你决定要出什么?")
if a == '石头':
    a = 1
    print("你出了石头!")
if a == '剪刀':
    a = 2
    print("你出了剪刀!")
if a == '布':
    a = 3
    print("你出了布!")

b = random.randint(1,3)
if b == 1:
    print("对方出了石头!")
if b == 2:
    print("对方出了剪刀!")
if b == 3:
    print("对方出了布!")

if a == 1:
    if b == 1:
        print("平局!")
    elif b == 2:
        print("你赢了!")
    elif b == 3:
        print("对方赢了!")
if a == 2:
    if b == 1:
        print("对方赢了!")
    elif b == 2:
        print("平局!")
    elif b == 3:
        print("你赢了!")
if a == 3:
    if b == 1:
        print("你赢了!")
    elif b == 2:
        print("对方赢了!")
    elif b == 3:
        print("平局!")

4. 乘法口诀表

i = 1
j = 1
while i <= 9:
    j = 1
    while j <= i :
        if i == j:
            if i * j > 9:
                print(j , "x" , i , "=" , i * j , "")
            else:
                print(j , "x" , i , "=" , i * j , " ")
        else:
            if i * j > 9:
                print(j, "x", i, "=", i * j, "",end='')
            else:
                print(j, "x", i, "=", i * j, " ",end='')
        j += 1
    i += 1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值