我搜索了这个站点,但似乎前面的问题中没有涉及到学习Python这本书中的练习。
我有这样的练习:
1)查找字符串放在字符串内的所有位置。有四个地方。2)你确定只有四个地方吗?怎么又知道了?也许我喜欢说谎。
x = "There are %d types of people." % 10
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary, do_not) #two strings inside a string, count is 2
print x
print y
print "I said: %r." % x #here, count is 3
print "I also said: '%s'." % y #here, count is 4
hilarious = False
joke_evaluation = "Isn't that joke so funny?! %r"
print joke_evaluation % hilarious
w = "This is the left side of..."
e = "a string with a right side."
print w + e我试图解决这个问题,并注释了在字符串中找到字符串的行(Found4)。但是,作者的第二个问题让我担心我没有找到所有的。我错过了什么吗?如果是,你能告诉我是什么吗?
发布于 2011-07-29 03:33:50
如果您将“将字符串放入字符串内”解释为“将格式字符与字符串参数一起使用”,那么您正确地识别了所有四种情况。把无用的指令放在一边并解释发生了什么,可能会更有帮助。有关更多信息,请查看offical documentation for formatting characters。我将尝试包含一些没有诡计问题的有帮助的练习。
x = "There are %d types of people." % 10%d是数字的格式化字符(大多数人在听到“Signed integer decimal”时会想到这个字符)。10用十进制表示,并插入到字符串中,结果是字符串There are 10 types of people.。
练习:"7+6: %d" % (7+6)会带来什么结果?在您的Python shell中测试它。
练习:"0x12: %d" % 0x12会带来什么结果?在您的Python shell中测试它。提示:前缀0x表示以下数字是hexadecimal,即以16为基数而不是10。
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary, do_not)%s插入值的字符串表示形式。这个例子说明,如果一个格式化字符串中有多个%d、%s等,我们需要在元组或列表中给出这个数目的参数。元组(圆形,大括号)和列表正方形,大括号之间的区别在于,元组是不可变的(即不能改变),但列表可以改变。
练习:给定元组x = ('world', 'Hello'),使用正确的单词顺序构造一个元组y。Dive Into Python's introduction of tuples将帮助您理解元组的基础知识。
print "I said: %r." % x%r是一个值的表示,理想情况下是可以输入到Python shell中的值。您可以使用repr函数获得相同的表示。例如,repr("a") == "'a'",而str(a) == "a"。对于除字符串之外的大多数类型,repr和str (或格式字符串中的%r和%s )的结果是相同的。
print w + e这将连接两个字符串(即将一个字符串放在另一个字符串之后)。请注意,如果两个参数都是数字,则+表示其他值(加法)。
练习:"3" + "4"的结果是什么?在您的Python shell中测试它。
练习:给定x = "3"; y = "4",打印出和7 (Hint)。
https://stackoverflow.com/questions/6864349
复制相似问题