# 湖南大学python头歌实训-分支语句

## 第二章-Python语言基础-2.2条件分支（一）

c = a + b
b = c – a
a = b + c

b = c – a
a = b + c
c = a + b

##### 交换数值

tmp = a
a = b
b = tmp

changeOne = int(input())
changeTwo = int(input())
plus = int(input())

# * Begin _*# #_ End ***

print(result)

2
5
10

15

changeOne = int(input())
changeTwo = int(input())
plus = int(input())

changeOne,changeTwo=changeTwo,changeOne
result=plus+changeOne

print(result)



if-else语句

if 判断语句1：
step1
else:
step2

name = ‘choose’

# 判断变量name是否为’choose’

if name == ‘choose’
print(“条件成立”)
else
print(“条件不成立”)
elif语句

if 判断语句1：
step1
elif 判断语句2：
step2
elif 判断语句3：
step3
……

else:
step

userId = 43

# 判断员工号

if userId == 10:
print(“这是10号员工”)
elif userId == 22:
print(“这是22号员工”)
elif userId == 18:
print(“这是18号员工”)
else:
print(“员工ID为:”,userId)

workYear = int(input())

# * Begin _*# #_ End _#print(“工资涨幅为0”) #请在下面填入如果workYear >= 5 and workYear < 10的判断语句 # Begin # # End #print(“工资涨幅为5%”) #请在下面填入如果workYear >= 10 and workYear < 15的判断语句 # Begin # # End #print(“工资涨幅为10%”) #请在下面填入当上述条件判断都为假时的判断语句 # Begin # #_ End ****

print(“工资涨幅为15%”)

result = x if x < y else y

jimscore = int(input())
jerryscore = int(input())

# * Begin _*# #_ End ***

print(winner)

13
15

jerry

workYear = int(input())

if workYear<5:

print("工资涨幅为0")

elif workYear>=5 and workYear<10:

print("工资涨幅为5%")

elif workYear>=10 and workYear<15:

print("工资涨幅为10%")

else:

print("工资涨幅为15%")



（略）

jimscore = int(input())
jerryscore = int(input())

winner='jim' if jimscore>jerryscore else 'jerry'

print(winner)



"""
Created on Sat Aug 29 09:49:20 2020

@author: hzh
"""

month = int(input())

if (1month7 and month%2==1) or (8month12 and month%2==0):
print('yes')

else:
print('no')

print('\n***********************\n')

velocity = int(input())

rank = 0

if 74velocity95:
rank=1

elif 96velocity110:
rank=2

elif 111velocity130:
rank=3

elif 131velocity154:
rank=4

elif velocity>=155:
rank=5
else:
rank=0

print(rank)



## 第二章-Python语言基础-2.2条件分支（理科）

##### if-else语句

if 判断语句1：
step1
else:
step2

elif语句

if 判断语句1：
step1
elif 判断语句2：
step2
elif 判断语句3：
step3
……

else:
step


"""
Created on Tue Sep  8 06:29:54 2020

@author: hzh
"""

year = int(input())

if (year%4==0 and year%100!=0) or year%400==0:
print('yes')

else:
print('no')

month = int(input())

if month==4 or month==6 or month==9 or month==11:
print('yes')

else:
print('no')

scores = int(input())

if scores>=90:
garde='A'

elif 60scores89:

else:

velocity = int(input())

rank = 0

if 74velocity95:
rank=1

elif 96velocity110:
rank=2

elif 111velocity130:
rank=3

elif 131velocity154:
rank=4

elif velocity>=155:
rank=5

else:
rank=0
print(rank)



5
9

C+32，热力学上的绝对零度相当于摄氏-273.15℃，低于这个温度意义不大。请完成程序，将有意义的摄氏温度转换成对应的华氏温度，如果是无意义的数据结果输出为None。

f(x)=

x−2
x+3
x
2

∣x∣
x
3

3x−4
4x+1

−10⩽x


"""
Created on Tue Sep  8 07:49:34 2020

@author: hzh
"""

def print_(x):
if type(x) == float:
print("%.4f" % x)
else:
print(x)

for temp in [-280, -100, 0, 20, 120, 200]:

if temp<-273.15:
F=None
else:
F=9*temp/5+32

print_(F)

print('\n***********************\n')

for number in [-101.23, -3.14, 0, 12.55, 1908]:

if number<0:
number=0-number

print_(number)

print('\n***********************\n')

for (num1, num2) in [(12, 34), (-6, -7),(-12, 23), (-273, 0), (0, 199)]:

if num1>num2:
num1,num2=num2,num1

print(num1, '  ', num2)

print('\n***********************\n')

for (num1, num2, num3) in [(-231, -321, 123), (100, 0, -99), (-980, -1002, -1), (6,1,2017)]:

if num1<num2:
if num3<num2:
num2,num3=num3,num2
if num2<num1:
if num1<num3:
num1,num2=num2,num1
elif num3<num2:
num1,num2,num3=num3,num2,num1
else:
num1,num2,num3=num2,num3,num1

print(num1, num2, num3)

print('\n***********************\n')

for (num1, num2) in [(10, 5), (12,34), (89,0), (-100, 23), (789, -123)]:

if num2==0:
print('None')
else:
result=num1/num2

print_(result)

print('\n***********************\n')

for (a, b, c) in [(1,2,1), (1,-2,1), (1,2,-3), (12, 34, 56), (78, 89, 100)]:

x=b**2-4*a*c
if x>=0:
root1=(-b+x**0.5)/2*a
root2=(-b-x**0.5)/2*a
else:
root1=None
root2=None

print(root1, root2)

print('\n***********************\n')

for x in [-9, -8, -7, -6, -5, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]:

if -10x<-8:
fx=x-2
if -8x<-6:
fx=x+3
if -6x-2:
fx=x**2
if -2<x<2:
fx=abs(x)
if 2x4:
fx=x**3
if 4<x6:
fx=3*x-4
if 6<x8:
fx=4*x+1

print_(fx)



,

,

1、编写程序实现：剪刀、石头和布的游戏。

2）布胜过石头，石头胜过剪刀，剪刀胜过布。

‘剪刀”石头”布’= ‘j’,’s’,’b’


"""
Created on Fri Aug 28 15:27:35 2020

@author: hzh
"""

for (Weight,Height) in [(60,1.65),(40,1.60),(80, 1.70),(75,1.83),(88,1.80)]:
bmi = Weight / pow(Height, 2)
wto, dom = " ", " "

if bmi<18.5:
wto="偏瘦"
dom="偏瘦"
if 18.5bmi25:
wto="正常"
if 18.5bmi24:
dom="正常"
if 25<bmi<30:
wto="偏胖"
if 24<bmi<28:
dom="偏胖"
if bmi>=30:
wto="肥胖"
if bmi>=28:
dom="肥胖"

print("BMI 指标为:国际'{0}', 国内'{1}'".format(wto, dom))
print('\n******************************\n')

for salary in [-1000, 0, 40000, 47450, 98000, 114650, 14980, 17470, 25670, 311950, 360000]:

if 0salary47449:
salaTax=0.22*salary
elif 47450salary114649:
salaTax=0.25*salary
elif 114650salary174699:
salaTax=0.28*salary
elif 174700salary311949:
salaTax=0.33*salary
elif salary>=311950:
salaTax=0.35*salary
else:
salaTax=0

print("%.4f" %salaTax)
print('\n***********************\n')

for (p1, p2) in [('s', 'j'), ('b', 'j'),('j', 'j'), ('b', 's')]:

if p1==p2=='j' or p1==p2=='s' or p1==p2=='b':
game=0
elif (p1=='j' and p2=='b') or (p1=='s' and p2=='j') or (p1=='b' and p2=='s'):
game=1
else:
game=-1

print(game)
print('\n***********************\n')



## 实验四 分支结构

if

Python依次评估寻找第一个结果为True的条件，执行该条件下的语句块，同时结束后跳过整个if-elif-else结构，执行后面的语句。

else子句是可选的

x=eval(input("边长一"))
y=eval(input("边长二"))
z=eval(input("边长三"))

if (x**2+y**2)==z**2 or (x**2+z**2)==y**2 or (y**2+z**2)==x**2:
print('直角三角形')
elif x==y==z:
print('等边三角形')
elif (x+yz or abs(x-y)>=z) or (z+yx or abs(z-y)>=x) or (x+zy or abs(x-z)>=y):
print('无法构成三角形')
else:
print('普通三角形')


if

Python依次评估寻找第一个结果为True的条件，执行该条件下的语句块，同时结束后跳过整个if-elif-else结构，执行后面的语句。

else子句是可选的

149

-5

9

x=eval(input())

if x<1:
y=x
if 1x<10:
y=2*x-1
if x>=10:
y=3*x-1

print("{:.2f}".format(y))



sy=eval(input("输入上月电表度数"))
by=eval(input("输入本月电表度数"))
yf=eval(input("输入月份"))

ds=by-sy
if ds200:
df=ds*0.588

if 3yf5 or 9yf11:
if 200<ds350:
df=(ds-200)*0.638+0.588*200
if ds>350:
df=(ds-350)*0.888+0.588*200+0.638*150
if 6yf8 or 1yf2 or yf==12:
if 200<ds450:
df=(ds-200)*0.638+200*0.588
if ds>450:
df=(ds-450)*0.888+200*0.588+250*0.638

print("用电度数{:.2f}电费{:.2f}".format(ds,df))



sy=eval(input("输入上月水表吨数"))
by=eval(input("输入本月水表吨数"))
rs=eval(input("输入家庭人数"))
db=input("是否低保(y/n)")

sl=by-sy
if db=='y':
sl=sl-6

if rs4:
if sl15:
sf=2.58*sl
if 15<sl22:
sf=3.34*(sl-15)+2.58*15
if sl>22:
sf=4.09*(sl-22)+3.34*7+2.58*15
if rs>=5:
if sl/rs4:
sf=2.58*sl
if 4<sl/rs5:
sf=3.34*sl
if sl/rs>5:
sf=4.09*sl
if sl<0:
sf=0

print("用水吨数(减免后){:.2f}水费{:.2f}".format(sl,sf))


ll=eval(input("流量"))
thsj=eval(input("通话时间"))

if ll30 and thsj500:
fy=128
if ll30 and thsj>500:
fy=128+0.15*(thsj-500)
if ll>30 and thsj500:
if (ll-30)3:
fy=128+(ll-30)*5
if (ll-30)>3:
fy=128+15+(ll-33)*3
if ll>30 and thsj>500:
if (ll-30)3:
fy=128+(ll-30)*5+0.15*(thsj-500)
if (ll-30)>3:
fy=128+15+(ll-33)*3+0.15*(thsj-500)
print('费用{:.2f}'.format(fy))


x=eval(input())
y=eval(input())

if x>=90 or y>=140:
print('高血压')
elif x<60 or y<90:
print('低血压')
else:
print('正常血压')



ch=input("")
s=eval(input(""))

if ch=='n':
if s3000:
df=s*0.005
if 3000<s5000:
df=s*0.01
if 5000<s10000:
df=s*0.015
else:
if s5000:
df=s*0.005
if s>5000:
df=s*0.01

print("{:.2f}".format(df))


40 _30+10_30 _1.5+4_30 _2+4_30*3=2250

gzbz=eval(input("工资标准"))
gzr=eval(input("工作日工作时间"))
xxr=eval(input("休息日工作时间"))

if gzr40:
if xxr==0:
gz=gzr*gzbz
if 0<xxr4:
gz=gzr*gzbz+xxr*2*gzbz
if xxr>4:
gz=gzr*gzbz+(xxr-4)*3*gzbz+4*2*gzbz
if gzr>40:
if xxr==0:
gz=40*gzbz+(gzr-40)*1.5*gzbz
if 0<xxr4:
gz=40*gzbz+xxr*2*gzbz+(gzr-40)*1.5*gzbz
if xxr>4:
gz=40*gzbz+(xxr-4)*3*gzbz+4*2*gzbz+(gzr-40)*1.5*gzbz

print("工资{:.2f}".format(gz))


## 实验3-1-程序控制-选择结构


a=eval(input())
if a>0:
print("正数\n")



light=input()


light=input()

if light=='开':

print('关')
if light=='关':

print('开')



2
+bx+c=0
a、b、c三个系数由测试集读入，根据三个系数来求解x的值则应为：
1、a=0 时输出： x=−c/b
2、b
2
−4ac=0时输出： x1=x2=−b/2a
3、b
2
−4ac>0时输出： x1=(−b+sqrt(b
2
−4ac))/2a,x2=(−b−sqrt(b
2
−4ac))/2a
4、b
2
−4ac

1; 2; 3

x1= (-1+1.4142135623730951j) x2= (-1-1.4142135623730951j)

1、求平方根：sqrt的用法
sqrt是math库里的一个函数，求平方根，使用前需要引入math，

import math
a=3
b=4
x=math.sqrt(a 2+b3) #调用math.sqrt求根下 a平方加b的三次方
print(‘x=’,x)
x的值就是根下a平方加b的三次方

2、复数生成：complex的用法

complex是python中生成一个复数的方法。使用方法如下：

a=2
b=3
c=complex(a,b) #调用complex生成了一个实部为a，虚部为b的复数c

(2+3j)

#### 测试说明

import math
a=float(input())
b=float(input())
c=float(input())

if a==0:
x=-c/b
print("x=",x)
if (b**2-4*a*c)==0 and a!=0:
x1=-b/2*a
x2=-b/2*a
print("x1=",x1,"x2=",x2)
if (b**2-4*a*c)>0 and a!=0:
x1=(-b+math.sqrt(b**2-4*a*c))/2*a
x2=(-b-math.sqrt(b**2-4*a*c))/2*a
print("x1=",x1,"x2=",x2)
if (b**2-4*a*c)<0 and a!=0:
n=-b/(2*a)
m=math.sqrt(4*a*c-b**2)/2*a
x1=complex(n,m)
x2=complex(n,-m)
print("x1=",x1,"x2=",x2)



90

Original: https://blog.csdn.net/SUOLONG1/article/details/126552077
Author: 勤奋努力的野指针
Title: 湖南大学python头歌实训-分支语句

(0)

### 大家都在看

• #### 图像分类以及经典的分类模型

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年11月27日
0147
• #### Python 线性 SVM 可视化

支持向量机作为经典的二分类算法，在数学建模比赛中的优越性在于可解释性较强 —— 不像某神经网络 因为核函数的引入，会使得数据的维度增加，当维度大于 3 时无法可视化 所以在此只针对…

人工智能 2023年6月30日
051
• #### Pytorch用自己的数据训练ResNet

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年12月8日
0128
• #### pyecharts的各个系列配置项设置示例——个人整理与分享

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年11月21日
0169
• #### OR-Tools求解仓库选址和钢材取料问题

📢作者： 小小明-代码实体📢博客主页：https://blog.csdn.net/as604049322📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论！本文链接：https://blo…

人工智能 2023年7月15日
063
• #### 超分算法之SRCNN

这篇文章是2014年的一篇论文，其主要意义在于作者推出的SRCNN是深度学习在超分上开篇之作！SRCNN证明了深度学习在超分领域的应用可以超越传统的插值等办法取得较高的表现力。 参…

人工智能 2023年7月27日
057
• #### 基于51单片机的时钟闹钟温度计LCD1602显示proteus仿真原理图PCB

功能介绍：0.本系统采用STC89C52作为单片机1.LCD1602液晶实时显示时间/当前温度2.按键可进行闹钟设置和温度上下限设置3.到达闹钟时间或温度超过阈值范围，蜂鸣器报警4…

人工智能 2023年6月29日
044
• #### 经典卷积网络–ResNet残差网络

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年12月7日
0151
• #### opencv4 ‘max‘ and ‘min‘ 函数的用法笔记

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年11月22日
0163
• #### 2021年最完整的人工智能入门指南

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年8月13日
0252
• #### CMOS图像传感器的参数和评价标准

作者：Aili-Light | 公众号：艾利光科技 图1 图像传感器CMOS 摄像头的种类和应用场景非常之多，例如手机摄像头、安防摄像头、车载摄像头、工业相机等等。针对每种应用，摄…

人工智能 2023年6月18日
059
• #### 爬取boss直聘“数据分析”工作

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年11月21日
0177
• #### Windows下Pycharm中引入CRFPP出错解决

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

人工智能 2022年10月2日
0246
• #### 毕业论文文献总结

面向缺陷检测的图像配准的方法和研究 图像配准 Image Registration 图像配准的步骤:（使用基于特征的方法） 1、采用 SURF 特征和局部互相关信息的图像配准算法 …

人工智能 2023年6月22日
046
• #### 深度学习：算法优化之动量算法（Momentum）

1.原理 运用物理学上的动量思想，在梯度下降的问题中引入动量项 m m m 和折扣因子 γ \gamma γ，公式为：m t = γ m t + 1 m_t=\gamma m_{t…

人工智能 2023年5月26日
038
• #### 【python技能树】python简介

1 Python定义 Python 是一种简单易学并且结合了 解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构，它的语法和动态类型以及解释性使它成为广大开…

人工智能 2023年7月3日
046