提问个关于python核心编程中的题目的问题!

软件和网站开发以及相关技术探讨
回复
头像
jin0828
帖子: 193
注册时间: 2007-09-04 5:23
来自: 福建福州
联系:

提问个关于python核心编程中的题目的问题!

#1

帖子 jin0828 » 2009-01-28 0:31

题是这样的:
2–8. 循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的和。然后修
改你的代码为接受用户输入数值。 分别使用 while 和 for 循环实现。

我的代码是这样的:

代码: 全选


#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Last modified: 2009年01月28日 星期三 00时26分45秒 [IBM-R60e-YJ]

"""docstring
"""
numList = ("1","2","3","4","5")
print (numList[0] + numList[1] + numList[2] + numList[3] + numList[4])
__revision__ = '0.1'



输出结果是:12345

问:为啥原本应该是数字计算的代码最后变成了字符串的连接?
内练一口气,外练一口屁,不内不外练志气!
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 提问个关于python核心编程中的题目的问题!

#2

帖子 poet » 2009-01-28 0:39

字符串使用+表示拼接,在语法上确实经常误导新手。我喜欢Lua语言对这个问题的处理。不喜欢C++,python等语言的处理。

劝楼主的是:
1。即使用python,也得搞清楚数据类型,不同数据类型做不同的操作,该转换时要转换。
2。循环的基本结构还是要了解一下。
narky
帖子: 42
注册时间: 2006-12-13 22:20

Re: 提问个关于python核心编程中的题目的问题!

#3

帖子 narky » 2009-02-01 19:01

虽然python不需要定义变量的类型,但是一旦变量赋值以后它的类型就确定了。

你numList = ("1","2","3","4","5")的时候,numlist里面每一个元素就已经都是字符串类型的了,用+操作符自然是字符串的连接咯。

如果你想要数字的话可以用numList = (1,2,3,4,5)
头像
junxiang
帖子: 317
注册时间: 2006-09-07 13:44

Re: 提问个关于python核心编程中的题目的问题!

#4

帖子 junxiang » 2009-02-03 19:29

numList = ("1","2","3","4","5"),有引号,当然就是字符串类型啦,虽然看起来是数字,但引号引起来了就是字符串类型,明白了吧?
:em11
自在的风~
narky
帖子: 42
注册时间: 2006-12-13 22:20

Re: 提问个关于python核心编程中的题目的问题!

#5

帖子 narky » 2009-02-03 20:31

poet 写了:字符串使用+表示拼接,在语法上确实经常误导新手。我喜欢Lua语言对这个问题的处理。不喜欢C++,python等语言的处理。

劝楼主的是:
1。即使用python,也得搞清楚数据类型,不同数据类型做不同的操作,该转换时要转换。
2。循环的基本结构还是要了解一下。
虽然python使用+来进行字符串的拼接,但是在python中很多情况下不需要这样硬性的来连接字符串,python中字符串的处理可以很优雅的,我们基本上可以忘记用+连接字符串这个方式了。
:em04
头像
junxiang
帖子: 317
注册时间: 2006-09-07 13:44

Re: 提问个关于python核心编程中的题目的问题!

#6

帖子 junxiang » 2009-02-04 17:35

narky 写了:
poet 写了:字符串使用+表示拼接,在语法上确实经常误导新手。我喜欢Lua语言对这个问题的处理。不喜欢C++,python等语言的处理。

劝楼主的是:
1。即使用python,也得搞清楚数据类型,不同数据类型做不同的操作,该转换时要转换。
2。循环的基本结构还是要了解一下。
虽然python使用+来进行字符串的拼接,但是在python中很多情况下不需要这样硬性的来连接字符串,python中字符串的处理可以很优雅的,我们基本上可以忘记用+连接字符串这个方式了。
:em04
:em11
自在的风~
lyjg118
帖子: 1
注册时间: 2008-11-20 13:27

按客户要求制作完成--.

#7

帖子 lyjg118 » 2009-02-06 9:13

?k?C 网:1、为了更好的保障客户的消费利益,北京地区可以当面交易,也可以货到付钱,真正的为客户利益着想--2.外地的?k?C 朋友请先电话联系我们--.3告诉?k?C 所需要递交的资料和照片--.4按客户要求制作完成--.5网上验收合格后再支款-6.邮寄证书-7.完成后册除客户资料! 证件制作时间一般为1天.全国联网快递3天到达(先办理后付款)品质一流溜值得您信赖的办实事公司。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 提问个关于python核心编程中的题目的问题!

#8

帖子 poet » 2009-02-06 9:15

narky 写了: 虽然python使用+来进行字符串的拼接,但是在python中很多情况下不需要这样硬性的来连接字符串,python中字符串的处理可以很优雅的,我们基本上可以忘记用+连接字符串这个方式了。
:em04
资深请授人以鱼/渔让大家见识一下怎么样替代需要使用+串接的情形,谢谢。
头像
Azone
帖子: 98
注册时间: 2007-08-02 16:01
联系:

Re: 提问个关于python核心编程中的题目的问题!

#9

帖子 Azone » 2009-02-06 14:35

:em04 注意类型
头像
junxiang
帖子: 317
注册时间: 2006-09-07 13:44

Re: 提问个关于python核心编程中的题目的问题!

#10

帖子 junxiang » 2009-02-06 18:27

poet 写了:
narky 写了: 虽然python使用+来进行字符串的拼接,但是在python中很多情况下不需要这样硬性的来连接字符串,python中字符串的处理可以很优雅的,我们基本上可以忘记用+连接字符串这个方式了。
:em04
资深请授人以鱼/渔让大家见识一下怎么样替代需要使用+串接的情形,谢谢。
自己多多尝试一下:

代码: 全选

print '1' '2' '3' '4' '5'
(注意空格)
另外,顺别推荐用vim写程序。
:em04
自在的风~
narky
帖子: 42
注册时间: 2006-12-13 22:20

Re: 提问个关于python核心编程中的题目的问题!

#11

帖子 narky » 2009-02-17 16:30

poet 写了:
narky 写了: 虽然python使用+来进行字符串的拼接,但是在python中很多情况下不需要这样硬性的来连接字符串,python中字符串的处理可以很优雅的,我们基本上可以忘记用+连接字符串这个方式了。
:em04
资深请授人以鱼/渔让大家见识一下怎么样替代需要使用+串接的情形,谢谢。
弄两个最经典的例子好了。

第一个:
print " ".join(["this","is","a","python","example"])

第二个:
print "i am %s,and i like %s" % ("narky","python")
(这个好像很常见,不光是python)
头像
weihuang
帖子: 15
注册时间: 2007-10-03 8:31

Re: 提问个关于python核心编程中的题目的问题!

#12

帖子 weihuang » 2009-03-09 21:17

前面的list里的元素是str的,这里的+重载为“连接”
回复