牛客华为机试题——难度:入门(python实现)

[HJ7 取近似值](#HJ7 取近似值)

[HJ9 提取不重复的整数](#HJ9 提取不重复的整数)

[HJ46 截取字符串](#HJ46 截取字符串)

[HJ58 输入n个整数,输出其中最小的k个](#HJ58 输入n个整数,输出其中最小的k个)

[HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序](#HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序)

HJ7 取近似值

描述:写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。

数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:输入一个正浮点数值

输出描述:输出该数值的近似整数值

示例:

输入:5.5

输出:6

python 复制代码
import sys

f = float(input())
a = int(f + 0.5)#任意小数+0.5取整就是四舍五入的结果
print(a)

HJ9 提取不重复的整数

描述:输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

保证输入的整数最后一位不是 0 。

数据范围: 1≤𝑛≤108 1≤n≤108

输入描述:输入一个int型整数

输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1:

输入:9876673

输出:37689

python 复制代码
import sys

list1 = list(map(int,input()))
list1.reverse()
list2 = list()
list2.append(list1[0])
for i in list1:
    count = list2.count(i)#获取当前元素在列表中出现的次数
    if count < 1:
        list2.append(i)
str = map(str,list2)
print(''.join(str))

HJ46 截取字符串

描述:输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出

数据范围:字符串长度满足 1≤𝑛≤1000 1≤n≤1000 , 1≤𝑘≤𝑛 1≤k≤n

输入描述:1.输入待截取的字符串;2.输入一个正整数k,代表截取的长度

输出描述:截取后的字符串

示例:

输入:abABCcDEF,6

输出:abABCc

python 复制代码
while True: # 防止输入类型错误报错
    try:
        str = input()
        k = int(input())
        if (1 <= k <= len(str) <= 1000):#判断输入是否符合要求
            print(str[:k]) #使用切片截取字符
        else:
            print("输入的内容不符合要求")
    except:
        break

HJ58 输入n个整数,输出其中最小的k个

描述:输入n个整数,找出其中最小的k个整数并按升序输出

数据范围:1≤𝑛≤1000 1≤n≤1000 ,输入的整数满足 1≤𝑣𝑎𝑙≤10000 1≤val≤10000

输入描述:第一行输入两个整数n和k,第二行输入一个整数数组

输出描述:从小到大输出最小的k个整数,用空格分开。

示例:

输入:5 2

1 3 5 7 2

输出:1 2

python 复制代码
import sys
n,k = map(int, input().split())
list1 = list(map(int,input().split()))
list1 = sorted(list1)#升序排列
list2 = []
if ((1 <= n < 1000) and (1 <= k < 10000)):
    for i in range(0,k):
        list2.append(list1[i])#获取列表元素插入新列表
        print(list2[i],end=" ")
else:
    print("输入的数据不符合要求")

键盘输入列表,列表排序,列表插入数据

HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序

描述:输入整型数组和排序标识,对其元素按照升序或降序进行排序

数据范围: 1≤𝑛≤1000 1≤n≤1000 ,元素大小满足 0≤𝑣𝑎𝑙≤100000 0≤val≤100000

输入描述:第一行输入数组元素个数

第二行输入待排序的数组,每个数用空格隔开

第三行输入一个整数0或1。0代表升序排序,1代表降序排序

输出描述:输出排好序的数字

示例1:

输入:8

1 2 4 9 3 55 64 25

0

输出:1 2 3 4 9 25 55 64

python 复制代码
import sys

n = int(input())
list1 = list(map(int,input().split()))
m = int(input())
if ((m == 0) and (1 <= n <1000)):
    for i in list1:
        if ((i < 0) or (i >10000)):
            break
    list1 = sorted(list1)#升序
    list1 = map(str,list1)
    print(' '.join(list1))#列表按空格输出
elif ((m == 1) and (1 <= n <1000)):
    for i in list1:
        if ((i < 0) or (i >10000)):
            break
    list1.sort(reverse=True)#倒序
    list1 = map(str,list1)
    print(' '.join(list1))
else:
    print("输入的内容不符合要求")
相关推荐
Kalika0-01 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
_.Switch1 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
代码雕刻家1 小时前
课设实验-数据结构-单链表-文教文化用品品牌
c语言·开发语言·数据结构
一个闪现必杀技1 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
sp_fyf_20241 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
小鹿( ﹡ˆoˆ﹡ )1 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温2 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学2 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹2 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt
小字节,大梦想2 小时前
【C++】二叉搜索树
数据结构·c++