Google Python Class练习解答1-string1.py,python1-string1.py,string1.py#!
Google Python Class练习解答1-string1.py,python1-string1.py,string1.py#!
string1.py
#!/usr/bin/python -tt# Copyright 2010 Google Inc.# Licensed under the Apache License, Version 2.0# http://www.apache.org/licenses/LICENSE-2.0# Google's Python Class# http://code.google.com/edu/languages/google-python-class/# Basic string exercises# Fill in the code for the functions below. main() is already set up# to call the functions with a few different inputs,# printing 'OK' when each function is correct.# The starter code for each function includes a 'return'# which is just a placeholder for your code.# It's ok if you do not complete all the functions, and there# are some additional functions to try in string2.py.# A. donuts# Given an int count of a number of donuts, return a string# of the form 'Number of donuts: <count>', where <count> is the number# passed in. However, if the count is 10 or more, then use the word 'many'# instead of the actual count.# So donuts(5) returns 'Number of donuts: 5'# and donuts(23) returns 'Number of donuts: many'def donuts(count): return# B. both_ends# Given a string s, return a string made of the first 2# and the last 2 chars of the original string,# so 'spring' yields 'spng'. However, if the string length# is less than 2, return instead the empty string.def both_ends(s): if(len(s) < 2): return ''; firstTwoChars = str(s)[0:2] lastTwoChars = str(s)[-2:] return (firstTwoChars+lastTwoChars)# C. fix_start# Given a string s, return a string# where all occurences of its first char have# been changed to '*', except do not change# the first char itself.# e.g. 'babble' yields 'ba**le'# Assume that the string is length 1 or more.# Hint: s.replace(stra, strb) returns a version of string s# where all instances of stra have been replaced by strb.def fix_start(s): first_char = str(s[0:1]) result_str = first_char for c in s[1:]: if c==first_char: result_str += '*' else: result_str += c return result_str# D. MixUp# Given strings a and b, return a single string with a and b separated# by a space '<a> <b>', except swap the first 2 chars of each string.# e.g.# 'mix', pod' -> 'pox mid'# 'dog', 'dinner' -> 'dig donner'# Assume a and b are length 2 or more.def mix_up(a, b): if(len(a) < 2 or len(b) < 2): return a, b = b[0:2]+a[2:], a[0:2]+b[2:] return '%s %s' % (a, b)# Provided simple test() function used in main() to print# what each function returns vs. what it's supposed to return.def test(got, expected): if got == expected: prefix = ' OK ' else: prefix = ' X ' print('%s got: %s expected: %s' % (prefix, str(got), str(expected)))# Provided main() calls the above functions with interesting inputs,# using test() to check if each result is correct or not.def main(): print('both_ends') test(both_ends('spring'), 'spng') test(both_ends('Hello'), 'Helo') test(both_ends('a'), '') test(both_ends('xyz'), 'xyyz') print('fix_start') test(fix_start('babble'), 'ba**le') test(fix_start('aardvark'), 'a*rdv*rk') test(fix_start('google'), 'goo*le') test(fix_start('donut'), 'donut') print('mix_up') test(mix_up('mix', 'pod'), 'pox mid') test(mix_up('dog', 'dinner'), 'dig donner') test(mix_up('gnash', 'sport'), 'spash gnort') test(mix_up('pezzy', 'firm'), 'fizzy perm')# Standard boilerplate to call the main() function.if __name__ == '__main__': main()
相关内容
- Learn Python By Practice — 排序和元组,pythonpractice,排序和
- 用urllib按照百度音乐分类下载mp3,urllib百度音乐mp3,[P
- 从1到10的循环方式改进,10循环方式改进,换一种循环方
- python的一些好的非主流语法用法,python非主流语法,#编
- Learn Python By Practice — Range和Slice扩展学习,pythonslice,
- HTMLParser笔记,,[Python]代码#-
- Learn Python By Practice — 文件读写,,import sysim
- Learn Python By Practice — dict,pythondict,def dictTest
- Learn Python By Practice — list,pythonpractice,import sysde
- Learn Python By Practice — string,pythonpractice,import sys#
评论关闭