Python新手小练习

Python 新手小练习

随机生成 20 个数

方法一

1
2
3
4
import random

for i in range(20):
print(random.randint(0, 50))

方法二

1
2
3
import random
random_list = [random.randint(0, 50) for i in range(20)]
print(random_list)

随机选出 20 个整数,偶数位置升序,奇数降序

1
2
3
4
5
6
7
8
9
# 生成一个包含20个随机数的列表、偶数位置升序,奇数位置降序
import numpy as np

random_list = np.random.randint(0, 50, size=20).tolist()
random_list_ou = random_list[::2]
random_list_ji = random_list[1::2]
random_list_ou.sort()
random_list_ji.sort(reverse=True)
print(random_list_ou, random_list_ji)

随机生成 20 个数,统计其出现的频率

方法一

1
2
3
4
5
6
7
8
9
10
# 生成包含20个随机数的列表,统计每个数字出现的次数
import numpy as np

random_list = np.random.randint(0, 50, size=20).tolist()
# print(random_list)
count_dict = dict()
for item in random_list:
count_dict.update({str(item): random_list.count(item)})

print(count_dict)

方法二

1
2
3
4
5
6
7
8
import random

x = [random.randint(1, 20) for i in range(20)]
r = dict()
for i in x:
r[i] = r.get(i, 0) + 1
for k, v in r.items():
print("%d出现%d次" % (k, v))

生成一个包含 50 个随机数的列表,删除其中所有的奇数(从后往前删)

方法一:

1
2
3
4
5
6
7
8
9
# 生成一个包含50个随机数的列表,并删除其中的奇数
import numpy as np
random_list = np.random.randint(0, 100, size=50).tolist()
# print(random_list)
for item in random_list[::-1]:
if item % 2 != 0:
random_list.remove(item)

print(random_list)

方法二:(感谢一位大佬指正)

1
2
3
4
5
6
7
8
9
# 生成一个包含50个随机数的列表,并删除其中的奇数
import random
random_list = [random.randint(0, 20) for i in range(50)]
# print(random_list)
for item in random_list[:]:
if item % 2 != 0:
random_list.remove(item)

print(random_list)

判断一个数是否是素数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 判断一个数是否为素数
from math import sqrt


def isPrimeNumbers(num):
for i in range(3, int(sqrt(num)) + 1):
if num % i == 0:
print("%d不是素数" % num)
break
else:
print("%d是素数" % num)


isPrimeNumbers(3)
isPrimeNumbers(9)

前十个升序、后十个降序

1
2
3
4
5
6
7
8
9
10
11
12
# 编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
import random
# import numpy as np

random_list = [random.randint(0, 50) for i in range(20)]
# random_list = np.random.randint(0, 50, size=20).tolist()
print(random_list)
start10 = random_list[:10]
end10 = random_list[10:]
start10.sort()
end10.sort(reverse=True)
print(start10, end10)

判断是否为闰年

1
2
3
4
5
6
7
8
9
10
11
12
13
# 编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
def isleapYear(year):
if year % 400 == 0:
print('%d年为闰年' % year)
elif (year % 4 == 0) and (year % 100 != 0):
print('%d年为闰年' % year)
else:
print('%d年不是闰年' % year)


year = int(input('请输入年份:'))

isleapYear(year)