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('=====')


本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5774931.html,如需转载请自行联系原作者

相关文章
|
6月前
|
SQL 算法 数据挖掘
动态规划Dynamic programming详解-编辑距离问题【python】
动态规划Dynamic programming详解-编辑距离问题【python】
|
6月前
|
存储 SQL 算法
动态规划Dynamic programming详解-背包问题【python】
动态规划Dynamic programming详解-背包问题【python】
|
6月前
|
存储 SQL 算法
动态规划Dynamic programming详解-硬币找零问题【python】
动态规划Dynamic programming详解-硬币找零问题【python】
|
6月前
|
存储 算法 数据挖掘
动态规划Dynamic programming详解-最长公共子序列【python】
动态规划Dynamic programming详解-最长公共子序列【python】
|
7月前
|
算法 决策智能 Python
Python高级算法——线性规划(Linear Programming)
Python高级算法——线性规划(Linear Programming)
587 0
Python高级算法——线性规划(Linear Programming)
|
算法 Python
Python算法之动态规划(Dynamic Programming)解析:二维矩阵中的醉汉(魔改版leetcode出界的路径数)
现在很多互联网企业学聪明了,知道应聘者有目的性的刷Leetcode原题,用来应付算法题面试,所以开始对这些题进行“魔改”,比如北京某电商平台的这道题: 有一个正方形的岛,使用二维方形矩阵表示,岛上有一个醉汉,每一步可以往上下左右四个方向之一移动一格,如果超出矩阵范围他就死了,假设每一步的方向都是随机的(因为他是醉的),请计算n步以后他还活着的概率。
Python算法之动态规划(Dynamic Programming)解析:二维矩阵中的醉汉(魔改版leetcode出界的路径数)
|
安全 物联网 测试技术
书籍:python物联网编程项目 Internet of Things Programming Projects - 2018
简介 利用Raspberry Pi 3和Python的组合,充分发挥物联网的潜力 使用IoT构建复杂的基于Python的应用程序 从事各种物联网项目,了解电子产品的基础知识 物联网(IOT)已成功吸引了研究人员和技术爱好者的注意力,因为它将经典网络与仪器和设备完美结合。
|
测试技术 API SDN
书籍:python网络编程 Python Network Programming - 2019
简介 主要特点 掌握Python技能,开发强大的网络应用程序 掌握SDN的基本原理和功能 为echo和chat服务器设计多线程,事件驱动的体系结构 此学习路径强调了Python网络编程的主要方面,例如编写简单的网络客户端,创建和部署SDN和NFV系统,以及使用Mininet扩展您的网络。
|
传感器 人工智能 机器人
python人工智能机器人工具书籍: Learn Robotics Programming(python and Raspberry Pi 3) - 2018
简介 人工智能和智能机器人将精确有效地执行不同的任务。 Raspberry Pi和Python的组合在制作这些机器人时非常有效。 本书首先向您介绍机器人的基本结构,以及如何规划,构建和编程。 当您完成本书时,您将逐渐进步添加不同的输出和传感器,学习新的建筑技能,以及使用传感器编写有趣行为的代码。