python的结构_Python结构的选择,python,之

python运行符优先级

注:

同一优先级计算顺序从右往左

逻辑运算的重要规则

A and B: 当 A 为 False 时,不管 B 为何值,表达式为 False,否则表达式结果为B

A or B: 当 A 为 True 时,不管 B 为何值,表达式为 True,否则表达式结果为B

测试运算符

成员运算符(in、not in)

成员运算符用于在指定的序列中查找某个值是否存在。

n = [1,2,3,4,5,'a']

if 'a' in n:

print('IN')

if 'a' not in n:

print('IN')

else:

print('NOT IN')

# 输出:

# IN

# NOT IN

身份测试(is、is not)

测试两个变量是否指向同一对象

n = [1,2,3]

m = n

if n is m:

print('同一对象')

else:

print('不是同一对象')

# 输出:同一对象

m = [2,2,2]

if n is m:

print('同一对象')

else:

print('不是同一对象')

# 输出:不是同一对象

条件运算符

格式:

表达式1 if 表达式 else 表达式2

运算规则

先求if后面表达式的值,如果为True,则求表达式1,并以表达式1的值作为条件运算的结果,如果为False,以表达式2的值作为条件运算符结果。

x,y = 40,50

z = x if x==y else y

print('%06.2f'%(z))

#输出:050.00

选择结构的实现

选择和循环结构中,条件表示的值为False的情况有:

Flase、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range对象、空迭代对象

单分支选择结构

if 表达式:

语句块

双分支选择结构

if 表达式:

语句块

else:

语句块

多分支选择结构

if 表达式1:

语句块

elif 表达式2:

语句块

elif 表达式3:

语句块

...

elif 表达式n

语句块

[else:

语句块]

最后一个else 可以不写

选择结构的嵌套

if 表达式1:

if 表达式2:

语句块

else:

语句块

if 表达式1:

if 表达式2:

语句块

else:

语句块

还有其他的就省略了

选择结构程序举例

水仙花数

输入一个整数,判断它是否为水仙花数。所谓水仙花数,指这样的一些3位整数:各位数字的立方和等于该数本身,例如153 = 1^3 + 5^3 + 3^3 ,因此153是水仙花数。

def fun():

x = int(input("请输入一个3位数整数"))

# input 函数返回值为字符串,所以需要强制转换

x1 = x % 100

x2 = (x / 10) % 10

x3 = x % 10

if(x == x1**3 + x2**3 + x3**3):

print('{}水仙花数'.format(x))

else:

print('{}不是水仙花数'.format(x))

return 0

def main():

fun()

main()

输入:请输入一个3位数整数153

输出:153不是水仙花数

时间输出

输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。

def fun(hour,minute,second):

second +=30

if second > 60:

second -= 60

minute +=1

minute +=5

if second > 60:

minute -=60

hour +=1

while hour > 24:

hour -= 24

print('{}:{}:{}'.format(hour,minute,second))

def main():

hour = int(input("请输人小时:"))

minute = int(input("请输入分钟:"))

second = int(input("请输入秒:"))

fun(hour,minute,second)

main()

# 输入:

# 请输人小时:8

# 请输入分钟:12

# 请输入秒:56

# 输出:

# 8:18:26

工资计算

(1)工作时间超过120小时,超过部分加发15%

(2)工作时间低于60小时,扣发700元

(3)其余按84元每小时计发。

输入员工的工号和该员工的工作时数,计算应发工资:

def fun(gh,gz):

sum = 0

if gz > 120:

sum += (gz-120)*84*1.15 + gz*84

else:

if gz>=60:

sum = gz*84

else:

sum = gz*84 -700

print("{}号职工应发工资{}".format(gh,sum))

def main():

gh,gz = eval(input("分别输入工号和工作时长,以逗号分隔"))

fun(gh,gz)

main()

#输入:

# 分别输入工号和工作时长110,60

#110号职工应发工资5040

月的天数

输入年月,求该月的天数

每年 1 3 5 7 8 10 12月有31天,4 6 9 11月有30天,闰年2月29天,平年2月28天

年份能被4整除,但不能被100整除,或者能被400整除的年均是闰年

def fun(year,month):

_31 = [1,3,5,7,8,10,12]

_30 = [4,6,9,7]

if month in _31:

print("{}月有31天".format(month))

return 0

if month in _30:

print("{}与有30天".format(month))

return 0

flag = (year % 4) == 0 and (year % 100) != 0 or year % 400 == 0

print("2月有{}天".format( 29 if flag else 28 ))

def main():

year = int(input("year="))

month = int(input("month="))

fun(year,month)

main()

# 输入:

# year=2014

# month=12

# 输出:

# 12月有31天

# 输入:

# year=2000

# month=2

# 输出:

# 2月有29天

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值