python 习题目录
- 1.统计字符串中元音字母的个数
- 2.生成3的乘方表
- 3.猜数字游戏
- 4.特别的7
- 5.使用for语句,实现打印九九乘法表
- 6.只使用while语句,实现打印数字金字塔
- 7.使用while语句,实现打印九九乘法表
- 8.使用列表推导式,实现打印九九乘法表(选做)
- 9.混合使用for、while语句,实现打印九九乘法表
- 10.使用python实现打印数字金字塔的功能
- 11.使用for语句,实现打印九九乘法表的功能
- 12、创建一个函数,对接收的n个数字进行求和并输入
- 13、请使用递归函数求10的阶乘
- 14、成绩等级判定
- 15.经典题型
- 编程实现以下功能:
- pandas 每日一练:
- 6.将空值上下值的平均值填充
- 7.提取popularity列中值大于145的行
- 8.按照project列进行去除重复值
- 9.计算popularity列平均值
- 10.将project列转化为list
- 相关运行结果如下:
- 每日一言:
- 持续更新中...
个人昵称:lxw-pro 个人主页:欢迎关注 我的主页 个人感悟: “失败乃成功之母”,这是不变的道理,在失败中总结,在失败中成长,才能成为IT界的一代宗师。
所谓 编程要想学得好,代码题目少不了
,来吧,直接上手代码,感受其中的奥妙吧!!!
1.统计字符串中元音字母的个数
输入一个以换行结束的字符串,统计并输出字符串中元音字母的个数(元音字母:‘A’,‘E’,‘I’,‘O’,‘U’
,‘a’,‘e’,‘i’,‘o’,‘u’)
s = input().upper()
cs = 0
for i in s:
if i == '\n':
break
if 'A' in i or 'E' in i or 'I' in i or 'O' in i or 'U' in i:
cs += 1
print(cs)
2.生成3的乘方表
输入一个非负整数n,生成一张3的乘方表,输出30 ~3n 的值。可调用幂函数计算3的乘方。
import math
n = int(input())
for i in range(n+1):
print(f"pow(3, {i}) = {pow(3, i)}")
3.猜数字游戏
两个人参与,一个人输入(设置)一个数字,一个人猜数字, 当猜数字的人输入一个数字,则提示是否猜中:
若猜测的数字大于设置的数字,提示“很遗憾,你猜大了”; 若猜测的数字小于设置的数字时,提示“很遗憾,你猜小了”;
若猜测的数字等于设置的数字时,提示“恭喜,猜数成功”; 猜数字的人最多猜5次,如果超过次数,提示“猜数失败”。
num = int(input("请输入你想输入的数:"))
cs = 0
for i in range(1, 6):
guess = int(input('你们猜猜数字是多少:'))
if i == 5:
print("猜数失败!")
elif guess == num:
print('恭喜,猜数成功')
break
elif guess > num:
print('很遗憾,你猜大啦~')
else:
print('很遗憾,你猜小啦~')
4.特别的7
输出100以内,所有包含7或7的倍数的数字。
for i in range(1, 101):
if '7' in str(i) or i % 7 == 0:
print(i)
5.使用for语句,实现打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}*{i}={i*j}\t', end='')
print()
6.只使用while语句,实现打印数字金字塔
jc = int(input())
out = 1
while out <= jc:
inn = 1
while inn <= out:
print(inn, end=" ")
inn += 1
print()
out += 1
7.使用while语句,实现打印九九乘法表
a = 1
while a < 10:
b = 1
while b <= a:
print("%d*%d=%d"%(b, a, a*b), end='\t')
b += 1
print()
a += 1
8.使用列表推导式,实现打印九九乘法表(选做)
for n in range(10):
print(" ".join(["%d*%d=%-2d" % (m, n, m*n) for m in range(1, n+1)]))
9.混合使用for、while语句,实现打印九九乘法表
for k in range(1, 10):
w = 0
while w < k:
w += 1
print("{}*{}={}".format(w, k, k*w), end='\t')
print()
10.使用python实现打印数字金字塔的功能
num = int(input("请输入一个数字:"))
for i in range(0, num):
for j in range(num - i - 1, 0, -1):
print(' ', end=' ')
for k in range(-i, i + 1):
print(abs(k)+1, end=' ')
print()
11.使用for语句,实现打印九九乘法表的功能
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}*{i}={i*j}\t', end='')
print()
12、创建一个函数,对接收的n个数字进行求和并输入
def s():
n = int(input("请输入一个个数字"))
s = 0
for i in range(1, n+1):
s += i
print(s)
s()
13、请使用递归函数求10的阶乘
def jc(n):
if n == 0:
return 1
else:
return n*jc(n-1)
print(jc(10))
14、成绩等级判定
通过函数导入的方式实现对随机生成的10个学生成绩进行等级判定并输出。
import random
for i in range(1, 11):
n = random.randint(1, 101)
print(n)
if n >= 90:
print('优秀')
elif 80 <= n < 90:
print("良好")
elif 70 <= n < 80:
print("中等")
elif 60 <= n < 70:
print("及格")
else:
print("不及格,还需要努力")
15.经典题型
python编程实现以下功能:
有30 个人被困在荒岛上,现有一条船,只能装下15 人。 于是人们排成一队,排队的位置即为他们的编号。 报数,从 1 开始,数到 9 的人不能上船。 如此循环,直到仅剩 15 人为止,问都有哪些编号的人不能上船?
peo = {}
for x in range(1, 31):
peo[x] = 1
# print(peo)
i = 1
down = 0
hans = 0
while i <= 31:
if i == 31:
i = 1
elif down == 15:
break
else:
if peo[i] == 0:
i += 1
continue
else:
hans += 1
if hans == 9:
peo[i] = 0
hans = 0
print('{}号不能上船'.format(i), end=',')
down += 1
else:
i += 1
continue
编程实现以下功能:
- 在当前目录下创建两个文件夹:test1、test2
- 在test1文件夹下,新建文本文件a1.txt,并写入内容:test a1
- 复制test1下的a1.txt到test2文件夹下,文件名为a2.txt
- 打开a2.txt文件,追加写入内容:write a2
import os
from shutil import copyfile
path1 = 'test1'
path2 = 'test2'
folder1 = os.path.exists(path1)
folder2 = os.path.exists(path2)
if not folder1:
os.makedirs(path1)
if not folder2:
os.makedirs(path2)
with open('test1/a1.txt', 'w') as f:
f.write('test a1')
copyfile('test1/a1.txt', 'test2/a2.txt')
with open('test2/a2.txt', 'a') as f:
f.write('write a2')
————————————————————————————————————————————
pandas 每日一练:
print()只为转行便看结果
# -*- coding = utf-8 -*-
# @Time : 2022/7/19 14:45
# @Author : lxw_pro
# @File : pandas-2 练习.py
# @Software : PyCharm
import pandas as pd
import numpy as np
lxw2 = {"project": ['Python', 'Java', 'C', 'MySQL', 'Linux', 'Math', 'English', 'Python'],
"popularity": [91, 88, 142, 136, np.nan, 146, 143, 148]}
df = pd.DataFrame(lxw2)
6.将空值上下值的平均值填充
df['popularity'] = df['popularity'].fillna(df['popularity'].interpolate())
print(df)
print()
7.提取popularity列中值大于145的行
tq = df[df['popularity'] > 145]
print("popularity列中大于145的行有:\n", tq)
print()
8.按照project列进行去除重复值
qc = df.drop_duplicates(['project'])
print("去掉重复值后:\n", qc)
print()
9.计算popularity列平均值
avg = df['popularity'].mean()
print("popularity列的平均值为:{:.2f}".format(avg))
print()
10.将project列转化为list
lst = df['project'].to_list()
print("project列转化为list为\n", lst)
相关运行结果如下:
6~8:
9~10:
每日一言:
一个善意的提醒,不要把抱负的紧迫感变成只争朝夕的慌乱感,每个人都必须习惯站在人生的十字路口却没有红绿灯的现实!!