github展示python100题
链接如下:
https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt
以下为博主翻译后题目及解答,答案代码分为两个,第一条为博主个人解答(Python3),第二条为题目所提供答案(Python2)
………………………………………………………………………………
题目1-20链接:https://blog.csdn.net/weixin_41744624/article/details/103426225
题目21-40链接:https://blog.csdn.net/weixin_41744624/article/details/103511139
题目41-60链接:https://blog.csdn.net/weixin_41744624/article/details/103575741
本部分题目为61-80,难度1-3随机顺序;
题目81-98链接:https://blog.csdn.net/weixin_41744624/article/details/103646520
经检测题库去除重复只有98题啦(欢迎评论添加好题目)~
………………………………………………………………………………
61、问题:
编写一个程序来读取ASCII字符串并将其转换为utf-8编码的unicode字符串。
(Python3默认输入会自动转为unicode字符,Python2则会自动读入ascii字符,ord()函数可以返回字符对应的unicode或者ascii值)
编码关系详见:用脚都能理解的–Python2与Python3编码方式
# python2
s = raw_input()
u = unicode( s ,"utf-8")
print u
62、问题:
写一个特殊的注释来指示Python源代码文件是unicode格式的。
# -*- coding: utf-8 -*-
63、问题:
编写程序计算1/2+2/3+3/4+…+n/n+1,控制台给定n个输入(n>0)。
例子:
如果将下列n作为程序的输入:
5个
那么,程序的输出应该是:
3.55
如果向问题提供了输入数据,则应假定它是控制台输入。
n = input ("input n:")
sum = 0
i=1
j=2
for x in range(1,int(n)+1):
sum = sum + i/j
i=i+1
j=j+1
print (round(sum,2))
n=int(raw_input())
sum=0.0
for i in range(1,n+1):
sum += float(float(i)/(i+1))
print sum
64、问题:
编写要计算的程序:
当n>0时,f(n)=f(n-1)+100
f(0)=1(注:博主发现按照公式来说此处应该是0,程序按照=0来写)
通过控制台输入给定的n(n>0)。
例子:
如果将下列n作为程序的输入:
5
那么,程序的输出应该是:
500
如果向问题提供了输入数据,则应假定它是控制台输入。
n = input ("input n(>0):")
sum = 0
for x in range(0,int(n)):
sum = sum + 100
print (sum)
def f(n):
if n==0:
return 0
else:
return f(n-1)+100
n=int(raw_input())
print f(n)
65、问题:
斐波那契数列的计算公式如下:
如果n=0,f(n)=0
如果n=1,f(n)=1
如果n>1,f(n)=f(n-1)+f(n-2)
请编写一个程序,用控制台输入的给定n计算f(n)的值。
例子:
如果将下列n作为程序的输入:
7
那么,程序的输出应该是:
13
如果向问题提供了输入数据,则应假定它是控制台输入。
n = input ("input n:")
a= 0
b= 1
sum1 = 0
x= 0
if int(n) == 0:
print (a)
elif int(n) == 1:
print (b)
else:
for i