Adapted from John Zelle's Book Slides.ppt
《Adapted from John Zelle's Book Slides.ppt》由会员分享,可在线阅读,更多相关《Adapted from John Zelle's Book Slides.ppt(68页珍藏版)》请在麦多课文档分享上搜索。
1、Adapted from John Zelles Book Slides,1,CS177 Python Programming,Chapter 5 Sequences: Strings, Lists, and Files,Python Programming, 2/e,2,The String Data Type,Text is represented in programs by the string data type. A string is a sequence of characters enclosed within quotation marks (“) or apostroph
2、es ().,Python Programming, 2/e,3,The String Data Type, str1=“Hello“ str2=spam print(str1, str2) Hello spam type(str1) type(str2) ,Python Programming, 2/e,4,The String Data Type,Getting a string as input firstName = input(“Please enter your name: “) Please enter your name: John print(“Hello“, firstNa
3、me) Hello JohnNotice that the input is not evaluated. We want to store the typed characters, not to evaluate them as a Python expression.,Python Programming, 2/e,5,The String Data Type,We can access the individual characters in a string through indexing. The positions in a string are numbered from t
4、he left, starting with 0. The general form is , where the value of expr determines which character is selected from the string.,Python Programming, 2/e,6,The String Data Type, greet = “Hello Bob“ greet0 H print(greet0, greet2, greet4) H l o x = 8 print(greetx - 2) B,Python Programming, 2/e,7,The Str
5、ing Data Type,In a string of n characters, the last character is at position n-1 since we start counting with 0. We can index from the right side using negative indexes. greet-1 b greet-3 B,Python Programming, 2/e,8,The String Data Type,Indexing returns a string containing a single character from a
6、larger string. We can also access a contiguous sequence of characters, called a substring, through a process called slicing.,Python Programming, 2/e,9,The String Data Type,Slicing: : start and end should both be ints The slice contains the substring beginning at position start and runs up to but doe
7、snt include the position end.,Python Programming, 2/e,10,The String Data Type, greet0:3 Hel greet5:9 Bob greet:5 Hello greet5: Bob greet: Hello Bob,Python Programming, 2/e,11,The String Data Type,If either expression is missing, then the start or the end of the string are used. Can we put two string
8、s together into a longer string? Concatenation “glues” two strings together (+) Repetition builds up a string by multiple concatenations of a string with itself (*),Python Programming, 2/e,12,The String Data Type,The function len will return the length of a string. “spam“ + “eggs“ spameggs “Spam“ +
9、“And“ + “Eggs“ SpamAndEggs 3 * “spam“ spamspamspam “spam“ * 5 spamspamspamspamspam (3 * “spam“) + (“eggs“ * 5) spamspamspameggseggseggseggseggs,Python Programming, 2/e,13,The String Data Type, len(“spam“) 4 for ch in “Spam!“:print (ch, end=“ “)S p a m !,Python Programming, 2/e,14,The String Data Typ
10、e,Python Programming, 2/e,15,Simple String Processing,Usernames on a computer system First initial, first seven characters of last name# get users first and last names first = input(“Please enter your first name (all lowercase): “) last = input(“Please enter your last name (all lowercase): “)# conca
11、tenate first initial with 7 chars of last name uname = first0 + last:7,Python Programming, 2/e,16,Strings, Lists, and Sequences,It turns out that strings are really a special kind of sequence, so these operations also apply to sequences! 1,2 + 3,4 1, 2, 3, 4 1,2*3 1, 2, 1, 2, 1, 2 grades = A, B, C,
12、D, F grades0 A grades2:4 C, D len(grades) 5,Python Programming, 2/e,17,Strings, Lists, and Sequences,Strings are always sequences of characters, but lists can be sequences of arbitrary values. Lists can have numbers, strings, or both! myList = 1, “Spam “, 4, “U“,Python Programming, 2/e,18,Strings, L
13、ists, and Sequences,We can make a list of months: months = “Jan“, “Feb“, “Mar“, “Apr“, “May“, “Jun“, “Jul“, “Aug“, “Sep“, “Oct“, “Nov“, “Dec“To get the months out of the sequence, do this: monthAbbrev = monthsn-1,Python Programming, 2/e,19,Strings, Lists, and Sequences,# month2.py # A program to pri
14、nt the month name, given its number. # This version uses a list as a lookup table.def main():# months is a list used as a lookup tablemonths = “Jan“, “Feb“, “Mar“, “Apr“, “May“, “Jun“,“Jul“, “Aug“, “Sep“, “Oct“, “Nov“, “Dec“n = eval(input(“Enter a month number (1-12): “)print (“The month abbreviatio
15、n is“, monthsn-1 + “.“)main()Note that the months line overlaps a line. Python knows that the expression isnt complete until the closing is encountered.,Python Programming, 2/e,20,Strings, Lists, and Sequences,# month2.py # A program to print the month name, given its number. # This version uses a l
16、ist as a lookup table.def main():# months is a list used as a lookup tablemonths = “Jan“, “Feb“, “Mar“, “Apr“, “May“, “Jun“,“Jul“, “Aug“, “Sep“, “Oct“, “Nov“, “Dec“n = eval(input(“Enter a month number (1-12): “)print (“The month abbreviation is“, monthsn-1 + “.“)main() Since the list is indexed star
17、ting from 0, the n-1 calculation is straight-forward enough to put in the print statement without needing a separate step.,Python Programming, 2/e,21,Strings, Lists, and Sequences,This version of the program is easy to extend to print out the whole month name rather than an abbreviation! months = “J
18、anuary“, “February“, “March“, “April“, “May“, “June“, “July“, “August“, “September“, “October“, “November“, “December“,Python Programming, 2/e,22,Strings, Lists, and Sequences,Lists are mutable, meaning they can be changed. Strings can not be changed. myList = 34, 26, 15, 10 myList2 15 myList2 = 0 m
19、yList 34, 26, 0, 10 myString = “Hello World“ myString2 l myString2 = “p“Traceback (most recent call last):File “, line 1, in -toplevel-myString2 = “p“ TypeError: object doesnt support item assignment,Python Programming, 2/e,23,Strings and Character Numbers,Inside the computer, strings are represente
20、d as sequences of 1s and 0s, just like numbers. A string is stored as a sequence of binary numbers, one number per character. It doesnt matter what value is assigned as long as its done consistently.,Python Programming, 2/e,24,Strings and Character Numbers,In the early days of computers, each manufa
21、cturer used their own encoding of numbers for characters. ASCII system (American Standard Code for Information Interchange) uses 127 bit codes Python supports Unicode (100,000+ characters),Python Programming, 2/e,25,Strings and Character Numbers,The ord function returns the numeric (ordinal) code of
22、 a single character. The chr function converts a numeric code to the corresponding character. ord(“A“) 65 ord(“a“) 97 chr(97) a chr(65) A,Python Programming, 2/e,26,Other String Methods,There are a number of other string methods. Try them all! s.capitalize() Copy of s with only the first character c
23、apitalized s.title() Copy of s; first character of each word capitalized s.center(width) Center s in a field of given width,Python Programming, 2/e,27,Other String Operations,s.count(sub) Count the number of occurrences of sub in s s.find(sub) Find the first position where sub occurs in s s.join(lis
24、t) Concatenate list of strings into one large string using s as separator. s.ljust(width) Like center, but s is left-justified,Python Programming, 2/e,28,Other String Operations,s.lower() Copy of s in all lowercase letters s.lstrip() Copy of s with leading whitespace removed s.replace(oldsub, newsub
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADAPTEDFROMJOHNZELLE SBOOKSLIDESPPT
