第五次作业:
5-5 外星人颜色#3 :将练习5-4中的if-else 结构改为if-elif-else 结构。
- 如果外星人是绿色的,就打印一条消息,指出玩家获得了5个点。
- 如果外星人是黄色的,就打印一条消息,指出玩家获得了10个点。
- 如果外星人是红色的,就打印一条消息,指出玩家获得了15个点。
- 编写这个程序的三个版本,它们分别在外星人为绿色、黄色和红色时打印一条消息。
# 只编写了一个版本,利用for语句来确保各个部分被执行 aline_colors = ['green', 'yellow', 'red'] for alien_color in aline_colors: print('aline_color = ' + alien_color) if alien_color == 'green': print('\tyou got 5 points') elif alien_color == 'yellow': print('\tyou got 10 points') elif alien_color == 'red': print('\tyou got 15 points')
5-10 检查用户名 :按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。
- 创建一个至少包含5个用户名的列表,并将其命名为current_users 。
- 再创建一个包含5个用户名的列表,将其命名为new_users ,并确保其中有一两个用户名也包含在列表current_users 中。
- 遍历列表new_users ,对于其中的每个用户名,都检查它是否已被使用。如果是这样,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。
- 确保比较时不区分大消息;换句话说,如果用户名'John' 已被使用,应拒绝用户名'JOHN' 。
current_users = ['Alice', 'Bob', 'Charlie', 'David', 'Ellis'] new_users = ['ALICE', 'BoB', 'Ford', 'Gray', 'Howard'] for new_user in new_users: flag = False for current_user in current_users: if new_user.lower() == current_user.lower(): flag = True if flag: print(new_user + ' your name has been used, please use another name') else: print(new_user + ' this name can be used')
5-11 序数 :序数表示位置,如1st和2nd。大多数序数都以th结尾,只有1、2和3例外。
- 在一个列表中存储数字1~9。
- 遍历这个列表。
- 在循环中使用一个if-elif-else 结构,以打印每个数字对应的序数。输出内容应为1st 、2nd 、3rd 、4th 、5th 、6th 、7th 、8th 和9th ,但每个序数都独占一行。
numbers = list(range(1, 10, 1)) tmp = [' ', 'st', 'nd', 'rd'] for number in numbers: if number > 3: print('%dth'%(number)) else: print('%d'%(number) + tmp[number])
第六次作业:
6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
favorite_numbers = { 'Alice' : 1, 'Bob' : 2, 'Charile' : 3, 'David' : 4, 'Ellis' : 5, } for name, number in favorite_numbers.items(): print(name + "'s favorite number is " + str(number))
6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 。
- 使用循环为每条河流打印一条消息,如“The Nileruns throughEgypt.”。
- 使用循环将该字典中每条河流的名字都打印出来。
- 使用循环将该字典包含的每个国家的名字都打印出来。
rivers = { 'Nile' : 'Egypt', 'Yellow River' : 'China', 'The Yangtze River' : 'China', } for river, country in rivers.items(): print(river + ' runs through ' + country) for river in rivers.keys(): print(river) for country in set(rivers.values()): print(country)
6-10 喜欢的数字 :修改为完成练习6-2而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来
favorite_numbers = { 'Alice' : [1, 2, 3], 'Bob' : [2, 4, 6], 'Charile' : 3, 'David' : [4, 6], 'Ellis' : [5, 25, 125], } for name, numbers in favorite_numbers.items(): print(name + "'s favorite numbers are " + str(numbers))