栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学会python应对面试的第一天笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学会python应对面试的第一天笔记

第一题:

输入两行数字,第一行第一个数字表示值A1,第一行第二个数字表示第二行要输入n个数字,然后第二行输入n个数字和第一行的A1值进行差的绝对值排序这n个数字,从小到排序,如果绝对值相等情况也是按小到大排序。请写出代码

例如输入:

50  10
49 50 52 47 40 43 53 55 42 44

得到的输出结果为:

50 49 52 47 53 55 44 43 42 40

 该题代码如下:

a,b = map(int,input().split())
print(a,b)
c=(input().split())
print(c)
for j in range(0,int(b)-1):
    for i in range(0,int(b)-1-j):
        if abs(int(c[i])-int(a)) > abs(int(c[i+1])-int(a)):
            t = c[i+1]
            c[i+1] = c[i]
            c[i] = t
        elif abs(int(c[i])-int(a)) == abs(int(c[i+1])-int(a)) and int(c[i])>int(c[i+1]):
            t = c[i + 1]
            c[i + 1] = c[i]
            c[i] = t
print(c)

输出结果为

50 10
50 10
49 50 52 47 40 43 53 55 42 44
['49', '50', '52', '47', '40', '43', '53', '55', '42', '44']
['50', '49', '52', '47', '53', '55', '44', '43', '42', '40']

知识点1:

输入为一行两个数字,用空格分开,输出同样的内容。

a,b=map(int,input().split())
print(a,b)

结果为

11 22
11 22

map() 函数语法,map(function, iterable, ...),

  • function -- 函数
  • iterable -- 一个或多个序列

如把代码的int改为square,则输出是11的平方和十二的平方

如果只是单纯的输入数字的话返回的是列表的形式,split()以空格为分隔。如

a = input().split()
print(a)

输出

11 22 33
['11', '22', '33']

for i in c 用于获取c列表总每个元素,如

c=(input().split())
print(c)
for i in c:
    print(i)

输出

11 22 1112 32
['11', '22', '1112', '32']
11
22
1112
32

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号