• 练习编程题-第四期


    1、时间轮换

    编写一个程序,输入24小时制的时间,然后以12小时的形式显示时间。不考虑负数或者其他特殊情况。注意不要把中午12:00显示为00:00,应该是12:00PM。凌晨00:00则是12:00AM。

    格式:
    输入格式:输入为整型,冒号分隔
    输出格式:输出为整型,冒号分隔,以两位数的形式显示时间并加上后缀AM或者PM。

    样例一:

    输入: 8:7
    输出: 08:07AM
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/26 16:35
    '''
    
    h,m=map(int,input().split(':'))
    if h==24:
        print("{:0>2d}:{:0>2d}AM".format(h-12,m))
    elif h==0:
        print("{:0>2d}:{:0>2d}AM".format(h+12,m))
    elif h==12:
        print("{:0>2d}:{:0>2d}PM".format(h, m))
    elif h<12:
        print("{:0>2d}:{:0>2d}AM".format(h, m))
    else:
        print("{:0>2d}:{:0>2d}PM".format(h-12, m))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2、小码哥打车

    小码哥在缅因州打车,那里只有Yellow cab, 5个迈(Mile) 以内收费10美元,里程大于5个迈小于等于10个迈的部分每个迈收费2美元,里程大于10个迈的部分每个迈收费2.5美元。不考虑负数, 0或者其他特殊情况。

    格式:
    输入格式:输入为整型
    输出格式:输出为实型,保留2位小数

    样例一:

    输入: 5
    输出:10.00
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/29 23:26 
    '''
    d = eval(input())
    cost = 0
    if d >5:
        cost = 10 + 2 * (d-5)
        if d > 10:
            cost += 0.5 * (d-10)
    else:
        cost = 10
    print( '%.2f ' %cost)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3、第几天

    输入日期(YYYY-M-D),然后输出它是一年中的第几天。 不考虑负数或者其他特殊情况。

    格式:
    输入格式:输入为整型
    输出格式:输出为整型

    样例一:

    输入: 2013-6-17
    输出: 168
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 9:16 
    '''
    
    import datetime
    
    dat = input()
    y,m,d=dat.split("-")
    sday = datetime.date(int(y),int(m),int(d))
    count = sday - datetime.date(sday.year - 1, 12 ,31) # 减去上一年最后一天
    print(count.days)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4、数字7

    输入一个整数N,判断它是不是整数7的和、差类的。(此如某数等于7+7,或者7-7,或者7-7-7+7+7…)是则输出YES否则或者NO。

    格式:
    输入格式:输入为整型
    输出格式:输出为YES或者NO

    样例一:

    输入: 14
    输出: YES
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 9:30
    '''
    
    n = eval(input())
    if n%7==0:
        print("YES")
    else:
        print("NO")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5、数字13

    给您一个整数输入N, 如果它是整数13的和或差(13+13, 13-13,13-13-13+1311…). 输出YES,否则输出NO。

    格式:
    输入格式:输入为整型
    输出格式:输出为YES或者NO

    样例一:

    输入: 14
    输出: NO
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 9:31
    '''
    
    n = eval(input())
    if n%13==0:
        print("YES")
    else:
        print("NO")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    6、简单计算

    编写一个模拟简单计算器的程序,计算表达式: a op b的值,要求a、op、b从盘输入。其中a、b (作除数时不能为0)为数值,op为运算符+、-、 *、 /。本题不考虑非法输入等特殊情况。

    格式:
    输入格式:输入数据和运算符
    输出格式:输出为实型

    样例一:

    输入:3+5
    输出:8.000000
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 9:35
    '''
    import re
    
    
    text=input()
    a,b=re.split(r'[+\-*/]',text)
    op = re.findall(r'[+\-*/]',text)[0]
    a=float(a)
    b=float(b)
    if op == '+':
        print('%.6f'%(a+b))
    elif op == '-':
        print('%.6f' % (a - b))
    elif op == '*':
        print('%.6f' % (a * b))
    elif op =='/':
        print('%.6f' % (a / b))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    7、哈沙德数

    如果一个数字可被其数字之和整除,则称该数字为Harshad哈沙德数,输入一个正整数,判断他是不是哈沙德数,输出YES或者NO。

    格式:
    输入格式:输入整型
    输出格式:输出YES或者NO

    样例一:

    输入: 156
    输出: YES
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 10:14 
    '''
    
    num =input()
    n = int(num)
    sum = 0
    l=len(num)
    for i in range(1,l+1):
        sum += int(n % 10)
        n/=10
    if (int(num) % sum == 0):
        print("YES")
    else:
        print("NO")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    8、骰子里面的数学

    小码哥抛出一个六面骰子。每个面上都印有一个数字,数字在1到6之间。输入正面的数字,请猜测对面的数字并输出两数之差。

    格式:
    输入格式:输入为整型
    输出格式:输出为整型

    样例一:

    输入: 5
    输出: 3
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/10/30 14:08 
    '''
    
    n = eval(input())
    if n == 1:
        print(-5)
    elif n==6:
        print(5)
    elif n==2:
        print(-3)
    elif n==5:
        print(3)
    elif n==3:
        print(-1)
    elif n==4:
        print(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    9、字符判断

    输入一个字符,判断是数字字符、大写字母、小写字母、算术运算符、关系运算符、逻辑运算符,还其他字符,分别输出"Number" , "Capital letter”,"Lowercase letter”,“Arithmetic operators”,"Relational operators“,"Logical operators’”,"Other character”。

    格式:
    输入格式:输入一个字符
    输出格式:输出字符

    样例一:

    输入: A
    输出: Capital letter
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/7 11:44 
    '''
    s = input()
    
    if s.isdigit():
        print("Number")
    elif s.isupper():
        print("Capital letter")
    elif s.islower():
        print("Lowercase letter")
    elif s in ['+','-','*','/']:
        print("Arithmetic operators")
    elif s in ['=', '>', '<']:
        print("Relational operators")
    elif s in ['!', '&', '^', '|']:
        print("Logical operators")
    else:
        print("Other character")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    10、人民币大写数字

    输入一个金额,输出对应的人民币大写数字(零壹贰叁肆伍陆柒捌玖拾)。不考负数等不合理的输入。

    格式:
    输入格式:输入为整型(<100)
    输出格式:输出字符

    样例一:

    输入: 35
    输出:叁拾伍元整
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/7 12:09 
    '''
    
    n = int(input())
    lists = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾']
    if n >= 0 and n<= 10:
        print(lists[n]+'元整')
    elif n >=11 and n <100:
        if str(n)[1] == '0':
            print(lists[int(str(n)[0])]+ '拾元整')
        else:
            print(lists[int(str(n)[0])]+ '拾'+lists[int(str(n)[1])]+ '元整')
    else:
        pass
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    11、闰年

    请编写一个简单程序,判断输入的年份是不是闰年。输入公元后的年份。

    格式:
    输入格式:输入整型
    输出格式:输出Y或者N

    样例一:

    输入: 2021
    输出: N
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 10:59 
    '''
    year=int(input())
    if year%4==0 and year%100!=0 or year%400==0:
        print("Y")
    else:
        print("N")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    12、时间也能加

    分两行输入两组时分秒,空格分隔,编写-个函数,把对应的时和时相加,分和分相加,秒和秒相加,输出结果。结果也是时分秒,要满足时间规律,比如秒的范围是0~59。不考虑不合理的输入等特殊情况。

    格式:
    输入格式:分两行输入两组时分秒,空格分隔,整型。
    输出格式:输出整型,空格分隔。

    样例一:

    输入:1 2 3
    	4 5 6
    输出:5 7 9
    
    • 1
    • 2
    • 3

    备注:

    本题中,分、秒存在进位,小时不存在进位。
    
    • 1

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 11:01 
    '''
    
    h1,m1,s1=map(int,input().split())
    h2,m2,s2=map(int,input().split())
    
    s = s1 +s2
    m = m1 +m2
    h = h1+h2
    if s>=60:
        s = s-60
        m+=1
    if m>=60:
        m = m-60
        h+=1
    print(h,m,s)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    13、11或13

    输入正整数N,判断它是否可被11或13整除,输出YES或者NO。

    格式:
    输入格式:输入正整数N
    输出格式:输出YES或者NO

    样例一:

    输入: 13
    输出: YES
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 11:08 
    '''
    n = eval(input())
    if n%11==0 or n%13==0:
        print("YES")
    else:
        print("NO")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    14、整除的总数

    输入正整数N和M,其中N<=M。求区间[N, M]中可被K整除的总数。

    格式:
    输入格式:输入正整数N, M和K,空格分隔。
    输出格式:输出整型

    样例一:

    输入:6 15 3
    输出:4
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 11:09 
    '''
    n,m,k= map(int,input().split())
    sum = 0
    for i in range(n,m+1):
        if i%k==0:
            sum += 1
    print(sum)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    15、古人的剩余定理

    今有物不知其数,
    三三数之剩二,
    五五数之剩三,
    七七数之剩二。
    问物最少几何?

    格式:
    输入格式:无
    输出格式:输出整型

    样例一:

    输入:无
    输出: 23
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:09 
    '''
    
    print("23")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    16、隐晦余8

    存在一个数x(大于10),除以3余2,除以5余3,除以7余1,求这个数最小值。

    格式:
    输入格式:无
    输出格式:输出整型

    样例一:

    输入:无
    输出: 113
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:10
    '''
    
    print("113")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    17、余数

    存在一个数x(大于10),除以7余2,除以11余4,除以13余5,求这个数最小值。

    格式:
    输入格式:无
    输出格式:输出整型

    样例一:

    输入:无
    输出: 499
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:10
    '''
    
    print("499")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    18、战死四五百

    带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。问战死多少人。

    格式:
    输入格式:无
    输出格式:输出整型

    样例一:

    输入:无
    输出: 451
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:11
    '''
    
    print("451")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    19、整除

    输入正整数N,检查它是否可以被其数字之和整除,输出YES或者NO。不考虑不合理的输入等特殊情况。

    格式:
    输入格式:输入正整数N
    输出格式:输出YES或者NO

    样例一:

    输入: 18
    输出: YES
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:11
    '''
    
    n = eval(input())
    
    s = 0
    for i in str(n):
        s+= int(i)
    if n%s ==0:
        print("YES")
    else:
        print("NO")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    20、孙子歌诀

    存在一一个数x,除以3余2,除以5余3,除以7余2,然后求这个数。明朝数学家程大位将解法编成易于上口的《孙子歌诀》:
    三人同行七十稀,
    五树梅花廿-支
    好团圆正期,
    除百零五使得知。
    3人同行"70”稀,3的余数乘以70, 5树梅花"21”支, 5的余数乘以21,仔团圆正半月(15
    天),7的余数乘以15。最后加在一起除以105看余数。

    格式:
    输入格式:
    输出格式:

    样例一:

    输入:无
    输出: 23
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:13
    '''
    print("23")
    
    • 1
    • 2
    • 3
    • 4
    • 5

    21、全部整除

    输入正整数N,找到一个最小的整数K,可以被1到N的每个数整除。

    格式:
    输入格式:输入整型
    输出格式:输出整型

    样例一:

    输入: 6
    输出: 60
    
    • 1
    • 2

    答案:

    '''
    @Author  :S1Lu
    @Date    :2022/11/8 12:11
    '''
    
    n = eval(input())
    i = 1
    while(i!=0):
        flag = 0
        for j in range(1,n+1):
            if i%j==0:
                flag = 1
            else:
                flag = 0
                break
        i+=1
        if flag == 1:
            print(i-1)
            break
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    hand_mysql
    openGauss每日一练第8天 | openGauss中一个数据库可以存储在多个表空间中
    MongoDB 解析:灵活文档数据库与 Docker Compose 部署
    SpringBoot学习笔记(五)——Git版本控制
    O3DE社区发布2310.0版本
    降维算法之奇异值分解 (Singular Value Decomposition, SVD)
    Python list列表添加元素的3种方法
    java家政服务平台计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    【Spring Boot】常用参数与注解
    实战:kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】
  • 原文地址:https://blog.csdn.net/qq_51644623/article/details/127846475