Python002

学习总结二

分支结构 if/elif/else

当仅有顺序结构不能解决所有的问题时,就需要使用分支结构。

(练习)

练习1:用户身份验证
username = input('请输入用户名:')
password = input('请输入口令:')
if username == kai and password == 123:
    print('身份验证成功!')
else:
    print('用户名或口令不正确!')
练习2:分段函数

f(x) = 3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
f(x) = 5x + 3 (x < -1)

x = float(input('输入x:'))
if x > 1:
    y == 3 * x - 5
elif -1 <= x <= 1:
    y == x + 2
else:
    y == 5 * x + 3
print('f(.2f%) = %.2f' ```````
 (x, y))

random表示产生随机0至1的小数(不包含1),randint表示产生随机整数。
randint表示产生随机某个范围的整数。

from random import randint
print(randint(1,6))
print(random())
练习3:掷骰子决定做什么
from random import randint
face = randint(1, 6)
if face == 1:
    x = '唱首歌'
elif face == 2:
    x = '跳个舞'
elif face == 3:
    x = '学狗叫'
elif face == 4:
    x = '俯卧撑'
elif face == 5:
   x = '绕口令'
else`
    x = '讲笑话'
print(x)
练习4:输入三条边长,计算三角形面积
import math

a = float(input('输入三角形第一条边长:'))
b = float(input('输入三角形第二条边长:'))
c = float(input('输入三角形第三条边长:'))
if a + b < c and a + c < b and b + c < a or a <= 0 or b <=0 or c <=0 :
    print('三角形不成立!')
else:
    p = (a + b + c) * 0.5
    s = p * (p - a) * (p - b) * (p - c)
    print('三角形面积:' + str(math.sqrt(s)))

#import math 表示引入数学运算
练习5:设计个税计算器
x = float(input('输入工资:'))
y = float(input('五险一金:'))
z = x - y - 3500
if z <= 0:
    m = 0
    n = 0
elif z <= 1500:
    m = 0.03
    n = 0
elif z <= 4500:
    m = 0.1
    n = 105
elif z <=9000:
    m = 0.2
    n = 555
elif z <= 35000:
    m = 0.25
    n = 1005
elif z <= 55000:
    m = 0.3
    n = 2755
elif z <= 80000:
    m = 0.35
    n = 5505
else:
   m = 0.45
    n
 13505
f = z * m - n
print('个人所得税:%.2f' % f)

循环结构

如果在程序中我们需要重复的执行某条或某些指令,就要用到循环结构,使用循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的发生。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

for - in循环

练习1:求1至100的和
sum = 0
for x in range(101):
    sum += x
print(sum)
#range用来产生一个不变的数值序列,通常都是用在循环中

range(101)产生一个0到100的整数序列。
range(1, 100)产生一个1到99的整数序列。
range(1, 100, 2)产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。

练习2:求1至100的偶数和
#方法1
sum = 0
for x in range(1, 101, 2):
    sum += x

print(sum)
方法2
sum = 0
for x in range1, 101):
    if x % 2 == 0:
        sum += x
print(sum)
练习3:摇60000次骰子,出现各点数的次数
from random import randint
a1 = a2 = a3 = a4 = a5 = a6 = 0
for x in range(60000):
    y = randint(1, 6)
    if y == 1:
        a1 += 1
    elif y == 2:
        a2 += 1
    elif y == 3:
        a3 += 1
    elif y == 4:
        a4 += 1
    elif y == 5:
        a5 += 1    
    else:
        a6 += 1
print('1点摇出了:%d次' % a1)
print('2点摇出了:%d次' % a2)
print('3点摇出了:%d次' % a3)
print('4点摇出了:%d次' % a4)
print('5点摇出了:%d次' % a5)
print('6点摇出了:%d次' % a6)
练习4:求100以内能被3或5整除的数的和
a = 0
for x in range(1, 101):
    if x % 3 == 0 or x % 5 == 0:
        a += x
print(a)

while循环

如果要构造不知道具体循环次数的循环结构,推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

(练习)

练习1:求100以内能被3或5整除的数的和
num = 1
x = 0
while num <= 100:
    num += 1
    if num % 3 == 0 or num % 5 == 0:
        x += num
print(x)
练习2:猜数游戏(电脑出数值)
from random import randint
answer = randint(1, 100)
counter = 0
a = False
while not a:
    counter += 1    
    your_answer = int(input('请输入:'))
    if your_answer > answer:
        print('小一点')
    elif your_answer < answer:
        print('大一点')
    else:
        print('回答正确!')
        a = True
print('你共猜了d%次' % counter)
if counter >= 7:
    print('你的智商余额已欠费!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值