【python 题练】


个人昵称: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的乘方表,输出3​0​​ ~3​n​​ 的值。可调用幂函数计算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


编程实现以下功能:

  1. 在当前目录下创建两个文件夹:test1、test2
  2. 在test1文件夹下,新建文本文件a1.txt,并写入内容:test a1
  3. 复制test1下的a1.txt到test2文件夹下,文件名为a2.txt
  4. 打开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:
在这里插入图片描述


每日一言:

一个善意的提醒,不要把抱负的紧迫感变成只争朝夕的慌乱感,每个人都必须习惯站在人生的十字路口却没有红绿灯的现实!!


持续更新中…

[^1]注:本文章只供学习,若有错误,欢迎评论或私信指正。

点赞,你的认可是我创作的动力
收藏,你的青睐是我努力的方向
评论,你的意见是我进步的财富
关注,你的喜欢是我长久的坚持
在这里插入图片描述

欢迎关注微信公众号程序人生6】,一起探讨学习哦!!!

  • 24
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值