题目:
根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于50的序列元素。例如:屏幕输出实例为:0.1.1.2.3…(略)。
代码模板:
考查知识点: while循环结构、多变量赋值。
试题解读
while是循环结构的关键字,后面紧跟循环条件。题目要求输出不大于50的序列元素,变量a存储斐波那契数列元素,即变量a的值不大于50,即条件表达式:
a<=50
填写代码的第2个位置为语句:
a,b=_______
该语句为a和b赋值,a是斐波那契数列的第n项元素,b是斐波那契数列的第n+1项元素,且初始a=0,b=1,则应将b赋值给a,a+b赋值给b,即代码位置处写入下面的表达式:
a,b= b,a+b
完整的程序代码:
知识点
1、 while循环结构
while循环结构的语法为:
其中,表达式是循环执行的条件,每次循环执行前,都要对表达式进行计算,表达式返回逻辑值,当表达式返回结果为真时则执行循环体,否则退出循环,如果表达式返回结果在循环开始时就为假,则不执行循环体,直接退出循环;循环体包含一条或多条语句。
单个的变量、逻辑值、数值也是表达式。Python规定,当表达式需要返回逻辑值时,非0的数值为真值,0值为假值。
2、多变量赋值操作
可以在一行赋值语句中创建多个变量,语法规则是 :
变量名称1,变量名称2,……,变量名称n = 值1,值2,……值n
每个变量名称之间用英文逗号分隔。
例如下面的语句创建了两个变量num1和num2,num1的值是20,num2的值是30。
题目:给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a="cagy", b=3,
则输出 :fdjb
提示: ord('a') = 97, ord('b') = 98, chr(97) = a
参考答案:
题目:给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。
回文串的定义: 记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".
参考答案:
题目:给你两个时间st和et(00:00:00<=st <= et<=23:59:59), 请你给出这两个时间间隔的秒数。
如:st="00:00:00", et="00:00:10", 则输出10.
参考答案:
方法一:切片
方法二:time模块
题目:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,
如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。
参考答案:
方法一:利用datetime模块
方法二:一行
题目:给你一个整数组成的列表L,按照下列条件输出:
若L是升序排列的,则输出"UP"
若L是降序排列的,则输出"DOWN"
若L无序,则输出"WRONG"。
参考答案:
题目:一个环形的公路上有n个加油站,编号为0,1,2,...n-1,
每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限,
而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。
现在有一辆开始时没有油的车,要从一个加油站出发绕这个公路跑一圈回到起点。
给你整数n,列表limit和列表cost,你来判断能否完成任务。
如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。
如果不能完成任务,输出-1。
参考答案:
构造新的limit和cost并遍历,来源 http://www.pythontip.com/coding/report_detail/3195/
题目:给你一个整数列表L,判断L中是否存在相同的数字,
若存在,输出YES,否则输出NO。
参考答案: