Python数据获取与表示基础编程练习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据获取与表示基础编程练习

《用Python玩转数据》by Dazhuang@NJU

Python中便捷高效的数据结构例如序列可以很好地用来解决问题,下面几个例子大家可以用来练手,难度不低,参考代码仅供参考,可以有很多写法,继续Fighting ^_^

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

测试数据:

Enter the number: 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

2. 请用随机函数产生500行1-100之间的随机整数存入文件random.txt中,编程寻找这些整数的众数并输出,众数即为一组数中出现最多的数。

3. 文件article.txt中存放了一篇英文文章(请自行创建并添加测试文本),假设文章中的标点符号仅包括“,”、“.”、“!”、“?”和“…”,编程找出其中最长的单词并输出。

【参考代码】

1.

#-*-coding:utf-8-*-

"""

@author: Dazhuang

"""

n = int(input("Enter the number: "))

count = 0

new_str = ''

print("The result string: ")

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])

s = input()

i = int(s)

num = list(map(str, filter(lambda x: x % i and s not in str(x), range(1, 101)))) for i in range(0, len(num), 10):

print(','.join(num[i:i+10]))

2.

#-*-coding:utf-8-*-

"""

@author: Dazhuang

"""

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.

#-*-coding:utf-8-*-

"""

@author: Dazhuang

"""

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) maxlen = len(result[0])

# 最长单词可能不止一个且要去掉相同的单词for word in set(result):

n = len(word)

if n == maxlen:

print(word)

相关文档
最新文档