python建立列表与转化类型

  今天这篇文章也是我在用python语言做洛谷题的时候遇到的一个问题。解决了希望可以记录一下。

以下是在做洛谷的原题(非常简单的一题,只是为了记录一下,用原题比较好解释一些)

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式

输入包括两行数据。第一行包含 10个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100到 120 之间(包含 100和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目

看到这道题首先第一步肯定是要建立一个列表或数组的东西,但我当时不会,经过学习之后发现有好几种方式。先来看建立列表:

my_list = [1, 2, 3, 4, 5]  
print(my_list)

这是第一种建立列表的方式,是用户直接定义了一个,就直接命名,然后用[ ]去赋值即可。

user_input = input("请输入一行列表(元素之间用空格分隔):")  
或者user_input=input()
my_list = user_input.split()  
print(my_list)

    如果用户要输入,可以按照这种方法。如果输入之前先有提示语句,那就用第一行语句,先引用字符串写入要提示的语句,在往后面输入即可。如果不需要有提示语句,则就直接按照第二行输入即可。

第三行的split()方法会按照空格将字符串分割成一个列表,并赋值给my_list变量,但要注意这仍是一个字符串,我在写这道题的时候就遇到了这样的问题。解决方法如下:

my_list = [int(x) for x in user_input.split(',')]  

这种方式就是主要就是在它把列表里字符串的数据都转化成了int型的。如:

列表[10,20,30,40]在没有这行语句,就是四个字符串,但有了这行语句它就是整型数。

因此这道题也就解出来了。

至于创建数组,我认为用Numpy这个库非常管事,大家可以参考以下这篇博客:python创建数组_python生成数组-CSDN博客

以下是解这道题的代码:

AppleHigh=input()
AppleHigh_List=AppleHigh.split()
peopleHigh=int(input())
realHigh=peopleHigh+30
j=0
AppleHigh_List = [int(x) for x in AppleHigh_List]
for i in range(len(AppleHigh_List)):
    if(realHigh>=AppleHigh_List[i]):
        j=j+1
print(j)

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值