2019-03-03Python入门经典编程题2

广告

1、从键盘输入整数n(1-9之间),对于1-100之间的整数删除包括n并且能被n整除的数,例如如何n为6,则要删除包含6的如6,16这样的数及时6的倍数如12、18这样的数,输出所有满足条件的数,要求每满10个数换行。

如:输入6


输入数字:6

结果:

1,2,3,4,5,7,8,9,10,11

13,14,15,17,19,20,21,22,23,25

27,28,29,31,32,33,34,35,37,38

39,40,41,43,44,45,47,49,50,51

52,53,55,57,58,59,70,71,73,74

75,77,79,80,81,82,83,85,87,88

89,91,92,93,94,95,97,98,99,100


代码实现如下

n=int(input("输入数字:"))
count=0
new_str=''
print("结果:")
for i in range(101):
    s=str(i)
    if i % n!=0 and s.find(str(n))==-1:
        new_str=new_str + s + ','
        count+=1
        if count % 10==0:
            print(new_str[:-1])
            new_str=''
if len(new_str)>0:
    print(new_str[-1])




2、随机函数产生500行1-100之间的随机整数存入文件random.txt中,编程寻找这些整数的众数并输出。

import random

with open('random.txt','w+') as fp:
    for i in range(500):
        fp.write(str(random.randint(1,100)))
        fp.write('\n')
    fp.seek(0)
    nums=fp.readlines()
nums=[num.strip() for num in nums]
setNums=set(nums)
lst = [0]*101
for num in setNums:
    c=nums.count(num)
    lst[int(num)]=c
for i in range(len(lst)):
    if lst[i] == max(lst):
        print(i)




3、在文件article.txt中存放一篇英文文章,假设文章中的标点符号仅包括“,”、“.”、“!”、“?”和“...”,通过Python找出最长的单词并输出。

with open('article.txt') as fp:
    data=fp.read()
words = data.split()
lst = []
for word in words:
    if word[-3:] =='...':
        word=word[:-3]
        lst.append(word)
    if word[-1] in ',.?!':
        word=word[:-1]
        lst.append(word)
result =sorted(lst,key=len,reverse=True)
print(result[0])
m=len(result[0])

for word in result[1:]:
    n=len(word)
    if n==m:
        print(word)
    else:
        break


支持Ctrl+Enter提交
暂无留言,快抢沙发!