欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

算法-分支结构

发布时间:2024/3/13 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 算法-分支结构 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 前言`
    • 本篇文章主要是练习基本的语法和简单的逻辑结构
  • 1、分支结构---两数大小
          • 题目描述
          • 题目分析
          • python 代码
  • 2、分支结构---四个数从小到大排序
          • 题目描述
          • 题目分析
          • python 代码
  • 3、分支结构---明天几号
          • 题目描述
          • 题目分析
          • 解法一 if else 语句
          • 解法二 内置函数datetime
  • 4、分支结构--出租费用
          • 题目描述
          • 题目分析
          • python代码
  • 5、分支结构---数的倒着输出
          • 题目描述
          • 题目分析
          • python代码
  • 6、分支结构---成绩等级
          • 题目描述
          • 题目分析
          • python代码
  • 7、分支结构---一门课不及格
          • 题目描述
          • 题目分析
          • python代码
  • 8、分支结构---水仙花数判断
          • 题目描述
          • 题目分析
          • python代码
  • 9、分支结构--- 判断能否被3,5,7整除
          • 描述
          • 题目分析
          • python代码
  • 10、分支结构--- 乘车计费问题
          • 题目描述
          • 题目分析
          • python代码
  • 总结


前言`

本篇文章主要是练习基本的语法和简单的逻辑结构

1、分支结构—两数大小

题目描述

从键盘输入两个不相等的数,存入a和b,判断a和b的大小,操作实现a的值大于b的值,并从大到小显示出来。

输入
输入两个数,用空格隔开

输出
从大到小输出两个数,用空格隔开

输入样例 1

1 2
输出样例 1

2 1
提示

数据规模:-1000000<=a,b<=1000000

题目分析

直接if语句进行判断

python 代码
a, b=map(int, input().split()) if a<b:a,b=b,a print(a,end=' ') print(b)

2、分支结构—四个数从小到大排序

题目描述

输入四个整数a,b,c,d,实现从小到大输出。

输入
输入一行四个整数a,b,c,d,数与数之间用空格分开

输出
输出一行:四个从小到大排序的整数a,b,c,d,数与数之间用空格分开

输入样例 1

4 3 2 1
输出样例 1

1 2 3 4
提示

-100000<=A,B,C,D<=100000

题目分析

这里直接使用python里面的sort()函数,直接输出就可以了,

python 代码
a = list(map(int, input().split())) a.sort() for i in a:print(i, end=' ')

3、分支结构—明天几号

题目描述

麦兜小朋友特别喜欢过生日,因为生日那天可以邀请小伙伴来家里开Party。于是他度日如年,总是问妈妈:明天是几号?

麦太也总是回答说,今天是y年m月d日,明天是几号你自己算吧。

输入
输入:3个整数y, m, d,分别表示今天是哪年、哪月、哪日。保证输入合法,整数之间用空格分开。

输出
输出:3个整数,表示该天之后的一天的日期。注意:要考虑闰年、跨月、跨年等多种情况。整数之间用空格隔开

输入样例 1

1 1 1
输出样例 1

1 1 2

题目分析

1,可以直接使用if else 语句进行判断,这样要注意考虑闰年,跨月等情况,思路要理清楚。
2,也可以用python里面的datetime标准库进行运算。话不多说直接上代码。

解法一 if else 语句
a,b,c=map(int,input().split()) if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:if b==1 or b==3 or b==5 or b==7 or b==8 or b==10:if c==31:print(a, end=' ')print(b+1,end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c+1)elif b==2:if c==29:print(a, end=' ')print(b + 1, end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c + 1)elif b==4 or b==6 or b==9 or b==11:if c==30:print(a, end=' ')print(b + 1, end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c + 1)elif b==12:if c==31:print(a+1, end=' ')print(1, end=' ')print(1) else:if b==1 or b==3 or b==5 or b==7 or b==8 or b==10:if c==31:print(a, end=' ')print(b+1,end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c+1)elif b==2:if c==28:print(a, end=' ')print(b + 1, end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c + 1)elif b==4 or b==6 or b==9 or b==11:if c==30:print(a, end=' ')print(b + 1, end=' ')print(1)else:print(a, end=' ')print(b, end=' ')print(c + 1)elif b==12:if c==31:print(a+1, end=' ')print(1, end=' ')print(1)
解法二 内置函数datetime
import datetimey, m, d = map(int, input().split()) star = datetime.date(y, m, d) delta = datetime.timedelta(days=1) year = (star + delta).year month = (star + delta).month day = (star + delta).day print(f'{year} {month} {day}')

4、分支结构–出租费用

题目描述

某城市出租车收费标准是4公里内(含4公里),按每公里2元收费,

如果超过4公里,其超过部分按每公里5元收费,请编程序计算乘车的费用。

从键盘输入乘车的距离(用d来表示),输出需要的费用(用p来表示)

输入
从键盘输入乘车的距离d(一个正整数) 0<d<=10000000

输出
输出需要的费用p(一个正整数)

输入样例 1

4
输出样例 1

8

题目分析

一道简单的数学题

python代码
d = int(input()) if d<=4:print(d*2) else:print((d-4)*5+8)

5、分支结构—数的倒着输出

题目描述

请输入小于100000的正整数,请将它各个位置上的数倒着输出,

并求各个位数数字的和?

例如:输入12345 则输出为:5 4 3 2 1 15

又如:输入123 则输出:3 2 1 6

输入
输入一个小于100000的正整数n

输出
输出若干个数,数与数之间用空格分开,最后一个数是各个数字的和

输入样例 1

12345
输出样例 1

5 4 3 2 1 15
输入样例 2

123
输出样例 2

3 2 1 6

题目分析

这个题我直接用的list列表进行转换,当然我觉的也可以把数的每一位存到数组里面,这里我就演示list转换,其他方法大家可自行尝试

python代码
n = int(input()) a = [int(i) for i in str(n)] a = a[::-1] for i in a:print(i,end=' ') print(sum(a))

6、分支结构—成绩等级

题目描述

根据输入的学生成绩给出相应的等级,

大于或等于90分的等级为A,80~89为B等级,…,60分以下的等级为E,

其余每10分为一等级。

输入
输入一个正整数

输出
输出学生成绩对应的等级

输入样例 1

60
输出样例 1

D

题目分析

按照题目要求来就好。

python代码
x = int(input()) if 90<=x:print('A') elif 80<=x<90:print('B') elif 70<=x<80:print('C') elif 60<=x<70:print('D') else:print('E')

7、分支结构—一门课不及格

题目描述

给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。

若该生恰好有一门课不及格,输出1;否则输出0。

输入
输入两个正整数,用空格分开

输出
输出一个数:0或者1

输入样例 1

1 1
输出样例 1

0

题目分析

简单的条件判断

python代码
n,m=map(int,input().split()) if n>=60 and m<60:print(1) elif n<60 and m>60:print(1) else:print(0)

8、分支结构—水仙花数判断

题目描述

输入一个三位数n,判断是否是水仙花数,如果是,输出1;

不是,则输出0,水仙花数是指一个三位数,

它的每个位上数字的3次幂之和等于它本身。例如153=13+23+5^3;

输入
输入格式:一个三位正整数

输出
输出格式: 一个整数0或1

输入样例 1

153
输出样例 1

1

题目分析

这个题算是比较经典的入门题了,因为水仙花数在1000以内,所以这里我用到了python里面的map函数,用a,b,c来接收每一位,然后再进行判断。

python代码
n=int(input()) a,b,c=map(int,str(n)) if a**3 + b**3 + c**3 == n:print(1) else:print(0)

9、分支结构— 判断能否被3,5,7整除

描述

给定一个整数n,判断它能否被3,5,7整除,并输出以下信息:

能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);

只能被其中两个数整除(输出两个数,小的在前,大的在后。

例如:3 5或者 3 7或者5 7,中间用空格分隔);

只能被其中一个数整除(输出这个除数);

不能被任何数整除,输出0;

输入
输入格式:一个正整数

输出
输出格式:输出一行,按照描述要求给出整数被3,5,7整除的情况。

输入样例 1

105

输出样例 1

3 5 7

题目分析

这里的话直接挨个判断就行了

python代码
n=int(input()) if n%3==0 and n%5==0 and n%7==0:print("{} {} {}".format(3,5,7)) if n%3==0 and n%5==0 and n%7!=0:print("{} {}".format(3,5)) if n%3==0 and n%5!=0 and n%7==0:print("{} {}".format(3,7)) if n%3!=0 and n%5==0 and n%7==0:print("{} {}".format(5,7)) if n%3==0 and n%5!=0 and n%7!=0:print(3) if n%3!=0 and n%5==0 and n%7!=0:print(5) if n%3!=0 and n%5!=0 and n%7==0:print(7) if n%3!=0 and n%5!=0 and n%7!=0:print(0)

10、分支结构— 乘车计费问题

题目描述

有m个成人和n个小孩去乘车,成人收费标准2元/人,小孩1元/人;

允许一个成人带一个小孩时小孩免费。输入成人和小孩人数,请您

计算总的乘车费用多少?

输入
输入格式:两个正整数m和n,用空格隔开

输出
输出格式:一个正整数即乘车的总费用

输入样例 1

1 1
输出样例 1

2
提示

数据规模:

0<m,n<100000

题目分析

一道简单的数学题

python代码
m,n=map(int,input().split()) if m>n:print(2*m) if m==n:print(2*m) if m<n:x = n-mprint(2*m+x)

总结

分支结构主要是巩固语法基础,题目都不难,欢迎大家留言交流。
下一篇 算法练习-循环结构

总结

以上是生活随笔为你收集整理的算法-分支结构的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。