美文网首页
python习题100例(1-3)

python习题100例(1-3)

作者: 双痒斋江右散人 | 来源:发表于2020-12-29 18:26 被阅读0次

原链接: https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt

散人非IT专业,乃医疗人士,自学编程也是被逼无奈。网络资源丰富,奈何初学者总是各种艰难。很多练习题,因为python版本问题,各种函数格式改变等原因,无法跑出来。散人心痒笔痒,将亲测可以跑出来的总结再次。散人现在用的是3.9版本。当然,很久以后,可能这些代码也跑不出来了。临床工作繁忙,间歇性将学习笔记整理出来。

Question 1

Level 1

问题:

写一个程序,找出所有能被7整除但不是5的倍数的数,2000至3200之间(都包括在内)。

获得的数字应该以逗号分隔的序列打印在单行上。

提示:

考虑使用range(begin, end)方法

Solution:

l=[]

for i in range(2000, 3201):

if (i%7==0) and (i%5!=0):

l.append(str(i))

print (','.join(l))

Question 2

Level 1

问题:

写一个可以计算给定数的阶乘的程序。结果应该以逗号分隔的序列打印在单行上。

假设向程序提供了以下输入:

8

那么,输出应该是:

40320

提示:

应该使用input()

Solution:

def fact(x):

if x == 0:

return 1

return x * fact(x - 1)

x=int(input())

print(fact(x))

Question de3

Level 1

问题:

对于一个给定的整数n,编写一个程序来生成一个字典,其中包含(i, i*i),它是一个介于1和n之间的整数(两者都包含)。然后程序应该打印字典。

假设向程序提供了以下输入:

8

那么,输出应该是:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}

提示:

在向问题提供输入数据的情况下,应该假定它是控制台输入。

考虑使用dict()

Solution:

n=int(input())

d={}

for i in range(1,n+1):

d[i]=i*i

print(d)

#补充 关于

for i in range (1,10)

print(i) #则会出现1~9的数字,所以如果含n,必须是(1,n+1)

相关文章

网友评论

      本文标题:python习题100例(1-3)

      本文链接:https://www.haomeiwen.com/subject/folqoktx.html