鱼C论坛

 找回密码
 立即注册
查看: 1376|回复: 17

[已解决]求解每个程序员1小时内必须解决的5个编程问题

[复制链接]
发表于 2018-3-20 11:10:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题2: 编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。

我是一个刚入门的小白, 求各位大牛帮助
输入数字还可以, 但输入A,B,C的话就会报错,
NameError: name 'a' is not defined

我的代码如下:
list1 = []
list1.extend(str(input("enter:")))
list2 = []
list2.extend(input("enter:"))
list_new = []

for i in range(0,len(list1)):
&#160;&#160;&#160;&#160;if i<len(list1):
&#160;&#160;&#160;&#160;&#160;list_new.append(list1[i])
&#160;&#160;&#160;&#160;&#160;list_new.append(list2[i])
&#160;&#160;&#160;&#160;i += 1

print list_new
最佳答案
2018-3-20 11:16:25
本帖最后由 tifa2018 于 2018-3-20 11:26 编辑

[a,B,C]

这里面的a,B,C

是什么?是变量名?是字符串?

要细心点啊

  1. list1 = []
  2. list1.extend(str(input("enter:")))
  3. list2 = []
  4. list2.extend(input("enter:"))
  5. list_new = []

  6. for i in range(0,len(list1)):
  7.     if i<len(list1):
  8.      list_new.append(list1[i])
  9.      list_new.append(list2[i])
  10.     i += 1

  11. print (list_new)
复制代码


最后一句应该加括号

然后可以执行,我试了下实现部分需求

QQ截图20180320112637.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-20 11:16:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tifa2018 于 2018-3-20 11:26 编辑

[a,B,C]

这里面的a,B,C

是什么?是变量名?是字符串?

要细心点啊

  1. list1 = []
  2. list1.extend(str(input("enter:")))
  3. list2 = []
  4. list2.extend(input("enter:"))
  5. list_new = []

  6. for i in range(0,len(list1)):
  7.     if i<len(list1):
  8.      list_new.append(list1[i])
  9.      list_new.append(list2[i])
  10.     i += 1

  11. print (list_new)
复制代码


最后一句应该加括号

然后可以执行,我试了下实现部分需求

QQ截图20180320112637.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 11:21:32 | 显示全部楼层
1.input()方法返回的是字符串对象,所以你输入数字的时候需要用int()方法转换一下。
2.我这边并没有出现你的错误,希望你能贴一下报错图。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 11:27:23 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-3-20 11:21
1.input()方法返回的是字符串对象,所以你输入数字的时候需要用int()方法转换一下。
2.我这边并没有出现你 ...

谢谢你的帮助! 当我输入字母时:
enter numbers:a

Traceback (most recent call last):
  File "F:/tool2/testing2.py/testing2.py", line 2, in <module>
    list1.extend(str(input("enter numbers:")))
  File "<string>", line 1, in <module>
NameError: name 'a' is not defined

Process finished with exit code 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 11:28:40 | 显示全部楼层
本帖最后由 tifa2018 于 2018-3-20 11:29 编辑

题目我是读了2遍,开始以为是给定直接是固定的两个列表为[a,B,C]和[1,2,3],这里的[a,B,C]元素如果是字符串要加引号的,直接这样写不算是列表

后来看楼主写的是输入组成列表,不知道原来的题目到底是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 11:29:30 | 显示全部楼层
tifa2018 发表于 2018-3-20 11:16
[a,B,C]

这里面的a,B,C

给定的两个列表为[a,B,C]和[1,2,3], 我想他的意思是随便输入几个字符, 然后输入到两个列表中, 再把两个列表的元素组合吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 11:30:10 | 显示全部楼层
123lucky 发表于 2018-3-20 11:29
给定的两个列表为[a,B,C]和[1,2,3], 我想他的意思是随便输入几个字符, 然后输入到两个列表中, 再把两 ...

这里的[a,B,C]元素如果是字符串每个元素都要加引号的,直接这样写不算是列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 11:33:33 | 显示全部楼层
tifa2018 发表于 2018-3-20 11:30
这里的[a,B,C]元素如果是字符串每个元素都要加引号的,直接这样写不算是列表

啊这样, 题目就是copy过来的, 没有修改。如果是给定的列表的话我能够解决, 但如果是用户随意输入的话, 我的代码能实现吗? 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 11:37:01 | 显示全部楼层
本帖最后由 tifa2018 于 2018-3-20 11:38 编辑
123lucky 发表于 2018-3-20 11:33
啊这样, 题目就是copy过来的, 没有修改。如果是给定的列表的话我能够解决, 但如果是用户随意输入的话, 我 ...


实现部分功能

见图
QQ截图20180320112637.png

这是一次输入一个列表的所有元素的内容,两次输完。


如果一次输入一个列表的一个元素的话,就不对了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 11:43:48 | 显示全部楼层
那为什么我自己运行, 输入非数字的时候会报错?
enter: a,b,C

Traceback (most recent call last):
&#160;&#160;File "F:/tool2/testing2.py/testing2.py", line 2, in <module>
&#160;&#160;&#160;&#160;list1.extend(str(input("enter numbers:")))
&#160;&#160;File "<string>", line 1, in <module>
NameError: name 'a' is not defined <-----就是出现这个问题

Process finished with exit code 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 11:57:30 | 显示全部楼层
123lucky 发表于 2018-3-20 11:43
那为什么我自己运行, 输入非数字的时候会报错?
enter: a,b,C

你用的是python2还是python3?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 12:10:05 | 显示全部楼层
tifa2018 发表于 2018-3-20 11:57
你用的是python2还是python3?

是python2.7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 12:14:00 | 显示全部楼层

怪不得,我是python3,

在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为

raw_input( )---将所有输入作为字符串看待,返回字符串类型

input( )-----只能接收“数字”的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )



2、在python3.x中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-20 12:15:27 | 显示全部楼层
tifa2018 发表于 2018-3-20 12:14
怪不得,我是python3,

在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为

我明白了! 太感谢你了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 12:18:18 | 显示全部楼层
用insert应该会好点吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 12:46:32 From FishC Mobile | 显示全部楼层
for循环不用增加i的控制语句了,可以用split将输入的字符串分割成列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-21 16:12:26 | 显示全部楼层
o41003121 发表于 2018-3-20 12:46
for循环不用增加i的控制语句了,可以用split将输入的字符串分割成列表

能否详细指教我一下?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-21 17:40:47 From FishC Mobile | 显示全部楼层
不是有一个bif可以直接插人在列表中的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表