Python基础教程(二)

今天主要写关于if条件判断和for循环的几个小练习,这可以对条件判断语句和for循环有更直接的理解

1.首先来复习一下if条件判断表达式

个税计算器

totalSalary = input('请输入你的工资:')
totalSalary = int(totalSalary)
if totalSalary < 7662:
    salary = totalSalary - totalSalary * 0.225
else:
    salary = totalSalary - 7662 * 0.225
if salary <= 3500:
    tax = 0
elif salary <= 5000:
    tax = (salary - 3500) * 0.03
elif salary <= 8000:
    tax = (salary - 3500) * 0.1 - 105
elif salary <= 12500:
    tax = (salary - 3500) * 0.2 - 555
elif salary <= 38500:
    tax = (salary - 3500) * 0.25 - 1005
elif salary <= 58500:
    tax = (salary - 3500) * 0.3 - 2755
elif salary <= 83500:
    tax = (salary - 3500) * 0.35 - 5505
else:
    tax = (salary - 3500) * 0.45 - 13505
print('应缴纳个人所得税为%s,工资为%s' % (round(tax, 2), round(salary - tax, 2)))

2.for循环

(1)Python中for循环在形式上与其他语言有较大的不同,以下是C#中for循环和Python中的for循环

C#的for循环:

for(int i = 0;i<10;i++){}

Python的for循环(for  in 结构):

for i in range(0,10,1):

这两种for循环要表达的意思是一致的,都是从i=0开始,一直循环到i=9,i逐次加1

不过在Python中,如果是i=0或者i逐次加1都是可以省略的,举例说明:

for i in range(10)
for i in range(5,10)

(2)当有多个条件判断时可以使用and和or来完成

and:只要有一个条件为假,最终结果就为假

or:只要有一个条件为真,最终结果就为真

可以通过几个例子来说明一下:

首先是and:

number = 6
if number % 3 == 0 and number % 5 == 0:
    print('通过')
else:
    print('不通过')

输出结果为 不通过 ,因为6无法被5整除,所以这个条件为假,导致and最终结果为假

然后是or:

number = 6
if number % 3 == 0 or number % 5 == 0:
    print('通过')
else:
    print('不通过')

输出结果为 通过,因为6可以被3整除,只要一个条件为真,则or最终结果为真

3.关于for循环的小练习

(1)计算1-100之间所有奇数之和与所有5的倍数之和

sum1 = 0
sum2 = 0
for x in range(1, 101):
    if x % 2 == 1:
        sum1 += x
    if x % 5 == 0:
        sum2 += x
print(sum1-sum2)
输出结果为1450

(2)关于石头剪刀布这个游戏在日常中非常常见,规则很简单,3局2胜制,现在我们来编写代码完成这个游戏

from random import randint
userWin = 0
computerWin = 0
deuce = 0
for i, value in enumerate(range(3)):
    userNum = input('请输入数字')
    userNum = int(userNum)
    computerNum = randint(0, 2)
    # print(computerNum)
    if userNum - computerNum == -1 or userNum - computerNum == 2:
        print('第{}局玩家胜'.format(i+1))
        userWin += 1
    elif userNum - computerNum == 0:
        print('第{}局平局'.format(i+1))
        deuce += 1
    else:
        print('第{}局电脑胜'.format(i+1))
        computerWin += 1
    if computerWin == 2:
        print('电脑胜')
        break
    elif userWin == 2:
        print('玩家胜')
        break
    elif deuce == 3 or deuce == computerWin == userWin == 1:
        print('平局')
    else:
        if i > 1 and deuce == 2:
            if computerWin > userWin:
                print('电脑胜')
            else:
                print('玩家胜')

这一期就到这里了,希望小伙伴们对if条件判断表达式和for循环有一个更好的理解

猜你喜欢

转载自blog.csdn.net/qq_41646358/article/details/80833790