An Introduction to Interactive Programming in Python (Part 1) -- Week 2_2 练习
#Practice Exercises for Logic and Conditionals
# Solve each of the practice exercises below.
# 1.Write a Python function is_even that takes as input the parameter number (an integer) and
# returns True if number is even and False if number is odd.
# Hint: Apply the remainder operator to n (i.e., number % 2) and compare to zero.
def is_even(number):
if number % 2 == 0:
return True
else:
return False
res = is_even(93)
print(res)
print('=====')
# 2.Write a Python function is_cool that takes as input the string name and
# returns True if name is either "Joe", "John" or "Stephen" and returns False otherwise.
# (Let's see if Scott manages to catch this. ☺ )
def is_cool(name):
cool_names = ["Joe", "John", "Stephen"]
if name in cool_names:
return True
else:
return False
res = is_cool("Scott")
print(res)
print('=====')
# 3.Write a Python function is_lunchtime that takes as input the parameters hour
# (an integer in the range [1,12]) and is_am (a Boolean “flag” that represents whether the hour is before noon).
# The function should return True when the input corresponds to 11am or 12pm (noon) and False otherwise.
# If the problem specification is unclear, look at the test cases in the provided template.
# Our solution does not use conditional statements.
def is_lunchtime(hour, is_am):
if hour == 11 and is_am:
return True
else:
return False
res = is_lunchtime(11, True)
print(res)
print('=====')
# 4.Write a Python function is_leap_year that take as input the parameter year and
# returns True if year (an integer) is a leap year according to the Gregorian calendar and False otherwise.
# The Wikipedia entry for leap yearscontains a simple algorithmic rule for
# determining whether a year is a leap year. Your main task will be to translate this rule into Python.
def is_leap_year(year):
if year % 400 == 0:
is_leap = True
elif year % 100 == 0:
is_leap = False
elif year % 4 == 0:
is_leap = True
else:
is_leap = False
return is_leap
res = is_leap_year(2016)
print(res)
print('=====')
# 5.Write a Python function interval_intersect that takes parameters a, b, c, and d and
# returns True if the intervals [a,b] and [c,d] intersect and False otherwise.
# While this test may seem tricky, the solution is actually very simple and consists of one line of Python code.
# (You may assume that a≤b and c≤d.)
def interval_intersect(a, b, c, d):
if a > d or b < c:
return False
else:
return True
res = interval_intersect(1,2,3,4)
print(res)
print('=====')
# 6.Write a Python function name_and_age that take as input the parameters name (a string) and age (a number) and
# returns a string of the form "% is % years old." where the percents are the string forms of name and age.
# The function should include an error check for the case when age is less than zero.
# In this case, the function should return the string "Error: Invalid age".
def name_and_age(name, age):
if age >= 0:
form = "%s is %d years old." % (name, age)
else:
form = "Error: Invalid age"
return form
res = name_and_age("John", -25)
print(res)
print('=====')
# 7.Write a Python function print_digits that takes an integer number in the range [0,100) and
# prints the message "The tens digit is %, and the ones digit is %." where the percents should be replaced
# with the appropriate values. The function should include an error check for the case when number is
# negative or greater than or equal to 100. In those cases,
# the function should instead print "Error: Input is not a two-digit number.".
def print_digits(number):
if number in range(100):
tens, ones = number // 10, number % 10
message = "The tens digit is %d, and the ones digit is %d." % (tens, ones)
else:
message = "Error: Input is not a two-digit number."
print(message)
print_digits(49)
print_digits(-10)
print('=====')
# 8.Write a Python function name_lookup that takes a string first_name that corresponds to
# one of ("Joe", "Scott", "John" or "Stephen") and then
# returns their corresponding last name ("Warren", "Rixner", "Greiner" or "Wong").
# If first_name doesn't match any of those strings, return the string "Error: Not an instructor".
def name_lookup(first_name):
first_names = ("Joe", "Scott", "John", "Stephen")
last_names = ("Warren", "Rixner", "Greiner", "Wong")
if first_name in first_names:
return last_names[first_names.index(first_name)]
else:
return "Error: Not an instructor"
res = name_lookup("Scott")
print(res)
print('=====')
# 9.Pig Latin is a language game that involves altering words via a simple set of rules.
# Write a Python function pig_latin that takes a string word and
# applies the following rules to generate a new word in Pig Latin.
# If the first letter in word is a consonant, append the consonant plus "ay" to the end
# of the remainder of the word. For example, pig_latin("pig") would return "igpay".
# If the first letter in word is a vowel, append "way" to the end of the word.
# For example, pig_latin("owl") returns "owlway". You can assume that word is in lower case.
# The provided template includes code to extract the first letter and the rest of word in Python.
# Note that, in full Pig Latin, the leading consonant cluster is moved to the end of the word.
# However, we don't know enough Python to implement full Pig Latin just yet.
def pig_latin(word):
if word[0] in "aeoui":
return word + "way"
else:
return word[1:] + word[0] + "ay"
res = pig_latin("owl")
print(res)
print('=====')
# 10.Challenge: Given numbers a, b, and c, the quadratic equation ax2+bx+c=0 can
# have zero, one or two real solutions (i.e; values for x that satisfy the equation).
# The quadratic formula x=−b±b2−4ac2a can be used to compute these solutions.
# The expression b2−4ac is the discriminant associated with the equation.
# If the discriminant is positive, the equation has two solutions.
# If the discriminant is zero, the equation has one solution.
# Finally, if the discriminant is negative, the equation has no solutions.
# Write a Python function smaller_root that takes an input the numbers a, b and c and
# returns the smaller solution to this equation if one exists.
# If the equation has no real solution, print the message "Error: No real solutions" and simply return.
# Note that, in this case, the function will actually return the special Python value None.
def smaller_root(a, b, c):
discriminant = b ** 2 - 4 * a * c
if discriminant > 0:
return (-b - math.sqrt(discriminant)) / (2.0 * a)
elif discriminant == 0:
return -b / (2.0 * a)
else:
print("Error: No real solutions")
return
res = smaller_root(1.0, -2.0, 1.0)
print(res)
print('=====')
An Introduction to Interactive Programming in Python (Part 1) -- Week 2_2 练习的更多相关文章
- An Introduction to Interactive Programming in Python (Part 1) -- Week 2_3 练习
Mini-project description - Rock-paper-scissors-lizard-Spock Rock-paper-scissors is a hand game that ...
- An Introduction to Interactive Programming in Python
这是在coursera上面的一门学习pyhton的基础课程,由RICE的四位老师主讲.生动有趣,一共是9周的课程,每一周都会有一个小游戏,经历一遍,对编程会产生很大的兴趣. 所有的程序全部在老师开发的 ...
- Mini-project # 1 - Rock-paper-scissors-___An Introduction to Interactive Programming in Python"RICE"
Mini-project description - Rock-paper-scissors-lizard-Spock Rock-paper-scissors is a hand game that ...
- An Introduction to Interactive Programming in Python (Part 1) -- Week 2_1 练习
# Practice Exercises for Functions # Solve each of the practice exercises below. # 1.Write a Python ...
- 【python】An Introduction to Interactive Programming in Python(week two)
This is a note for https://class.coursera.org/interactivepython-005 In week two, I have learned: 1.e ...
- Quiz 6b Question 8————An Introduction to Interactive Programming in Python
Question 8 We can use loops to simulate natural processes over time. Write a program that calcula ...
- Quiz 6b Question 7————An Introduction to Interactive Programming in Python
Question 7 Convert the following English description into code. Initialize n to be 1000. Initiali ...
- Quiz 6a Question 7————An Introduction to Interactive Programming in Python
First, complete the following class definition: class BankAccount: def __init__(self, initial_bal ...
- Mini-project # 4 - "Pong"___An Introduction to Interactive Programming in Python"RICE"
Mini-project #4 - "Pong" In this project, we will build a version of Pong, one of the firs ...
随机推荐
- IOS开发中NSRunloop跟NSTimer的问题
在Windows时代,大家肯定对SendMessage,PostMessage,GetMessage有所了解,这些都是windows中的消息处理函数,那对应在ios中是什么呢,其实就是NSRunloo ...
- Web应用程序系统的多用户权限控制设计及实现-栏目模块【8】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-栏目模块.栏目模块涉及到的数据表为目录表. 1.1栏目域 为了更规范和方便后期系统的二次开发和维护 ...
- WPF + Caliburn.Micro +ActionMessage事件绑定
ActionMessage事件绑定是个人觉的算是CM的精髓了,比如说我在View里面放个button,我们要在他的click事件里面写东西,怎么写.如果是WPF我们直接在CS里面写就可以.但是CM不行 ...
- iOS之 随笔-静态库创建Xcode7
不多说直接上图 然后你就可以找到你的.a文件了还有你的头文件 在终端可以检查你所编译的静态库都支持什么架构(armv7,armv7s ,arm64)用这个命令 lipo -info 编译时候要看你Xc ...
- python 格式化字符串的三种方法
1)%格式化方法 >>> a = "this is %s %s" % ("my", "apple") >>&g ...
- iOS的高德地图标注特定位置
在开发时有时候遇到项目里面需要展示公司的位置,这时如果导入百度地图什么的就太浪费资源,而且还占内存 这时只要调用自动高德地图的就行了 自己写一个控制器,导入框架 现在导入系统框架只要多打次就能出来了, ...
- MyCat 学习笔记 第十二篇.数据分片 之 分片事务处理
1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150: 330 ...
- 安装SQL Server2008,要重启机器,解决办法
安装SQL Server2008时,总提示有挂起,要重启机器:重启之后还是有相应的提示,该怎么办呢? 其实只要删除一个注册表项就可以了: 1. 打开注册表编辑器 开始菜单—>运行->re ...
- SSH 端口映射(一)
转载:http://blog.csdn.net/a351945755/article/details/21785647,http://blog.csdn.net/gaoming655/article/ ...
- poj 1664 放苹果,递归(深度优先搜索)
#include "stdio.h" int DFS(int n,int m); int main() { int T; int n,m; int s; scanf("% ...