python高级编程题目(python高级编程书籍)
Python挑战100题(14~20)
题目:给你个小写英文字符串a和一个非负数b(0=b26), 将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并遍历,来源
题目:给你一个整数列表L,判断L中是否存在相同的数字,
若存在,输出YES,否则输出NO。
参考答案:
python 选择题三道
第2题:
的确是因为scale没有return,但其实也不能说是错的,因为返回的是None。
第3题:
s?=?Right_Angle_Triangle(3,?4)
t?=?Right_Angle_Triangle(4,?3)
print(s??t,?s??t,?s?==?t)
对象比较的时候会调用里面的__gt__,__lt__,__eq__这些方法的结果去比较:
st就等于s.__gt__(t)
st就等于s.__lt__(t)
s==t就等于s.__eq__(t)
所以结果算一下就是d
第4题:
a?=?[1,?2,?3]
b?=?[1,?2,?3]
c?=?a
print(a?is?b,?a?==?b,?a?is?c,?a?==?c)
a和b虽然值是一样的,但是在内存中的地址不是一个,c=a,c指向的内存地址和a一样,
所以a is b是False,a==b是True,a is c是True,a==c也是True。
如果解决了您的问题请采纳!
如果未解决请继续追问
求助两道python程序填空题
1.1:10
1.2:min a[j]
1.3:avg=(avg-a[0])/10
2.1:a += 1
2.2:( s[i] = 'a' and s[i] = 'z' )
2.3:Lower(s)
Python题目
#输出"Hello,world!"
print('hello,world')
#从键盘输入4个整数a,b,c,x计算函数值
a?=?int(input('请输入a的值:'))
b?=?int(input('请输入b的值:'))
c?=?int(input('请输入c的值:'))
x?=?int(input('请输入x的值:'))
y?=?(a*x)^?2?+?b*x+c
print('最终的值为:%s'%?y)
#计算费波纳契数列的第?n?项的递归程序
def?fibonacci(n):
if?n?==?0?or?n?==1:
return?n
else:
return?fibonacci(n-1)?+?fibonacci(n-2)
print(fibonacci(3))
#从键盘输入若干个用空格分开的单词,按字典序排序后输出
inputWords?=?input('请输入几个单词,用空格分开\n')
word?=?sorted(inputWords.split('?'))
print(word)
一道关于python题?
def fun(n):
#**********Program**********
s=0
i=3
while i=n:
print(i,end=" ") #输出3的倍数,测试过程,正式提交程序时要删除。
s+=i
i+=3
return s
#********** End **********
def main():
print("【请分别三次计算问题:】")
for i in range(3):
print("【第%d次:】" %(i+1))
n = int(input("【请输入一个大于1的正整数n:】"))
print("【1到"+str(n)+"之间能被3整除的所有整数之和为:】",fun(n))
if __name__ == '__main__':
main()