Crossin的编程教室
标题: 【Python 第13课】 字符串 [打印本页]
作者: crossin先生 时间: 2014-4-23 17:27
标题: 【Python 第13课】 字符串
字符串就是一组字符的序列(序列!又见序列!还记得我说过,range就是产生一组整数序列。今天仍然不去细说它。),它一向是编程中的常见问题。之前我们用过它,以后我们还要不停地用它。
python中最常用的字符串表示方式是单引号(‘’)和双引号("")。我还是要再说:一定得是英文字符!
'string'和“string”的效果是一样的。
可以直接输出一个字符串
print ‘good’
也可以用一个变量来保存字符串,然后输出
str = ‘bad’
print str
如果你想表示一段带有英文单引号或者双引号的文字,那么表示这个字符串的引号就要与内容区别开。
内容带有单引号,就用双引号表示
"It's good"
反之亦然
‘You are a "BAD" man’
还有一种在字符串中表示引号的方法,就是用\,可以不受引号的限制
\'表示单引号,\"表示双引号
‘I\'m a \"good\" teacher’
\被称作转译字符,除了用来表示引号,还有比如用
\\表示字符串中的\
\n表示字符串中的换行
\还有个用处,就是用来在代码中换行,而不影响输出的结果:
"this is the\
same line"
这个字符串仍然只有一行,和
"this is thesame line"
是一样的,只是在代码中换了行。当你要写一行很长的代码时,这个会派上用场。
python中还有一种表示字符串的方法:
三个引号(‘’‘)或者(""")
在三个引号中,你可以方便地使用单引号和双引号,并且可以直接换行
'''
"What's your name?" I asked.
"I'm Han Meimei."
'''
【作业时间】
用print输出以下文字:
1.
He said, "I'm yours!"
2.
\\_v_//
3.
Stay hungry,
stay foolish.
-- Steve Jobs
4.
*
***
*****
***
*
作者: s201073009 时间: 2015-1-24 14:13
求答案呀。。。
作者: xiaohuzai 时间: 2015-2-16 16:01
1:- print 'He said, "I\'m yours!"'
复制代码 2:3:- print '''Stay hungry,
- stay foolish.
- -Steve Jobs'''
复制代码 4:- print "*\n***\n*****\n***\n*"
复制代码
作者: cross 时间: 2015-4-21 09:15
print 'He said,"I\'m yours!"'
print '\\\\_v_//'
print 'Stay hungry\nstay foolish\n --Steve Jobs'
print '''*\n***\n*****\n***\n*'''
作者: UFO 时间: 2015-5-4 21:19
- print ('He said,"I\'m yours!"')
- print (r'\\_v_//')
- print ('\\\_v_//')
- print ('''Stay hungry,
- stay foolish.
- -- Steve Jobs''')
- print ('''*
- ***
- *****
- ***
- *''')
复制代码
作者: lovia 时间: 2015-5-27 18:48
- print '''He said,"I'm yours!"'''
- print "\\\_v_//"
- print "Stay hungry,\nstay foolish\n --Steve Jobs"
- print "*\n***\n*****\n***\n*"
复制代码
作者: catherinemic 时间: 2015-12-28 11:33
- print 'He said, "I\'m yours!"'
- print '\\\\_v_//'
- print '''
- Stay hungry,
- stay foolish.
- -- Steve Jobs
- '''
- print '*\n***\n*****\n***\n*'
复制代码
-
Python8.png
(3.77 KB, 下载次数: 703)
作者: weiliu 时间: 2015-12-28 19:25
我好笨,刚学到的“\n用来换行”就忘记了。。。
作者: 弹星者 时间: 2016-2-15 21:30
为啥 print ('\\\_v_//') 的输出和print ('\\\\_v_//')的输出一样呀
作者: crossin先生 时间: 2016-2-16 11:21
弹星者 发表于 2016-2-15 21:30
为啥 print ('\\\_v_//') 的输出和print ('\\\\_v_//')的输出一样呀
因为\\相当于\
单个\如果不会跟后面的字符产生转义,那也是\
作者: 德坤 时间: 2016-4-4 15:13
再来温习一遍
作者: 追风 时间: 2016-4-30 15:20
我觉得用三个引号这种方法很方便
作者: python-learner 时间: 2016-8-15 22:01
print '''HE said,"I'm yours!"'''
print '\\\_v_//'
print """Stay hungry,
stay foolish.
- Steve Jobs"""
print """*
***
*****
***
*"""
作者: python-learner 时间: 2016-8-15 22:15
crossin先生 发表于 2016-2-16 11:21
因为\\相当于\
单个\如果不会跟后面的字符产生转义,那也是\
print '\\_v_//'
print '\\\_v_//'
print '\\\\_v_//'
运行后结果是:
\_v_//
\\_v_//
\\_v_//
按照您的解释,最后一行运行的时候,系统将'\\认定为了引号;可前面两行都是认定'\为引号。不同情况下,系统认定的标准是不一样的吗?
作者: crossin先生 时间: 2016-8-16 15:08
python-learner 发表于 2016-8-15 22:15
print '\\_v_//'
print '\\\_v_//'
print '\\\\_v_//'
认定为引号?这里和引号没关系吧
\' 是 '
这里的问题只是 \\ 表示字符 \
作者: python-learner 时间: 2016-8-16 22:05
crossin先生 发表于 2016-8-16 15:08
认定为引号?这里和引号没关系吧
\' 是 '
这里的问题只是 \\ 表示字符 \
好的,我懂了,谢谢老师
作者: l0ve1o24 时间: 2016-12-4 17:02
print'he said,\"i\'m yours\"'
print'\\\\_v_//'
print'stay hungry,\nstay folish.\n --steve jobs'
print'*\n***\n*****\n***\n*'
作者: crossin先生 时间: 2016-12-5 16:20
l0ve1o24 发表于 2016-12-4 17:02
print'he said,\"i\'m yours\"'
print'\\\\_v_//'
print'stay hungry,\nstay folish.\n --steve jobs' ...
print 后面要有个空格,不然有些情况会出问题
作者: l0ve1o24 时间: 2016-12-6 14:40
crossin先生 发表于 2016-12-5 16:20
print 后面要有个空格,不然有些情况会出问题
谢老师提醒
作者: ponber 时间: 2016-12-19 20:32
print ''' He said,"i'm yours" '''
print ' He said,\"i\'m yours\" '
print '\\\\_v_//'
print 'Stay hungry,\nstay foolish.\n --Steve Jobs'
# 结合以前的for循环:
a=1
for i in range(1,4):
for j in range(0,a):
print'*',
print
a=a+2
b=3
for m in range(1,3):
for n in range(0,b):
print'*',
print
b=b-2
作者: qdqqqiang 时间: 2017-5-14 10:33
a1 = "He said,\"I\'m yours!\""
a2 = "\\\\_V_//"
a3 = "Stay hungry,\nStay foolish.\n--Steve Jobs"
a4 = "*\n**\n*****\n***\n*"
print(a1)
print(a2)
print(a3)
print(a4)
作者: qdqqqiang 时间: 2017-5-14 10:34
crossin先生 发表于 2016-2-16 11:21
因为\\相当于\
单个\如果不会跟后面的字符产生转义,那也是\
老是,请问他们在论坛里面回复,前面有01020304每行这样代码格式是怎么弄的。。。谢谢
作者: crossin先生 时间: 2017-5-14 19:23
qdqqqiang 发表于 2017-5-14 10:34
老是,请问他们在论坛里面回复,前面有01020304每行这样代码格式是怎么弄的。。。谢谢 ...
回复框里有个 <> 符号,就是加代码
作者: qdqqqiang 时间: 2017-5-15 12:23
crossin先生 发表于 2017-5-14 19:23
回复框里有个 符号,就是加代码
- print ("谢谢老师!")
- print ("我下次再仔细点!")
复制代码
作者: dxw551354 时间: 2018-3-1 13:16
输出雪花可以用for循环实现
b = 5
a = 1
for n in range(1,b+1):
print('*'*a)
n =a+2
a = a+2
#print('n=',n)
if a>b:
a=a-2
break
for m in range(1,b):
a = a-2
print('*'*a)
m = a+1
#print('m=',m)
if a<0:
a = a+2
break
作者: qijirufeng 时间: 2018-3-22 20:25
本帖最后由 qijirufeng 于 2018-3-22 20:28 编辑
prinfile:///C:/Users/Administrator/Desktop/1t为啥后面跟'''和换行跟'''结果不同
作者: cheer 时间: 2021-8-11 10:52
cross 发表于 2015-4-21 09:15
print 'He said,"I\'m yours!"'
print '\\\\_v_//'
print 'Stay hungry\nstay foolish\n --Steve Jobs'
全对。开心~ 不过要记住的规则越来越多了有种学英语语法的感觉
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) |
Powered by Discuz! X2.5 |