用python写十条简单项目例子(猜数字游戏、倒计时器、生成随机密码、计算器、打印九九乘法表、爬虫、简易计算器、生成二维码、将图片转换为字符画、文件拷贝工具)

目录

1. 猜数字游戏

2. 倒计时器

3. 生成随机密码

4. 计算器

5. 打印九九乘法表

6. 爬虫

7. 简易计算器

8. 生成二维码

9. 将图片转换为字符画

10. 文件拷贝工具


1. 猜数字游戏

```

import random



number = random.randint(1, 100)



while True:

    guess = int(input("猜一个1-100之间的数字:"))

    if guess == number:

        print("恭喜你,猜对了!")

        break

    elif guess < number:

        print("你猜的数字太小了!")

    else:

        print("你猜的数字太大了!")

```

2. 倒计时器

```

import time



seconds = int(input("输入倒计时秒数:"))



for i in range(seconds, 0, -1):

    print(i)

    time.sleep(1)



print("倒计时结束!")

```

3. 生成随机密码

```

import random

import string



def generate_password(length=8):

    chars = string.ascii_letters + string.digits

    return ''.join(random.choice(chars) for _ in range(length))



print(generate_password())

```

4. 计算器

```

def add(a, b):

    return a + b



def subtract(a, b):

    return a - b



def multiply(a, b):

    return a * b



def divide(a, b):

    return a / b



def remainder(a, b):

    return a % b



print("选择运算:")

print("1、加")

print("2、减")

print("3、乘")

print("4、除")

print("5、求余")



choice = input("请输入你的选择(1/2/3/4/5):")



num1 = float(input("请输入第一个数字:"))

num2 = float(input("请输入第二个数字:"))



if choice == '1':

    print(num1, "+", num2, "=", add(num1, num2))



elif choice == '2':

    print(num1, "-", num2, "=", subtract(num1, num2))



elif choice == '3':

    print(num1, "*", num2, "=", multiply(num1, num2))



elif choice == '4':

    print(num1, "/", num2, "=", divide(num1, num2))



elif choice == '5':

    print(num1, "%", num2, "=", remainder(num1, num2))



else:

    print("输入有误!")

```

5. 打印九九乘法表

```

for i in range(1, 10):

    for j in range(1, i+1):

        print("%d*%d=%d" % (j, i, i*j), end='\t')

    print()

```

6. 爬虫

```

import requests



url = input("请输入网址:")



response = requests.get(url)



with open('result.html', 'w', encoding='utf-8') as f:

    f.write(response.text)

```

7. 简易计算器

```

def add(a, b):

    return a + b



def subtract(a, b):

    return a - b



def multiply(a, b):

    return a * b



def divide(a, b):

    return a / b



def remainder(a, b):

    return a % b



def calculate(expression):

    stack = []

    index = 0

    

    while index < len(expression):

        if expression[index] == ' ':

            index += 1

            continue

        

        if expression[index].isdigit():

            num = 0

            while index < len(expression) and expression[index].isdigit():

                num = num * 10 + int(expression[index])

                index += 1

            stack.append(num)

        elif expression[index] == '(':

            stack.append(expression[index])

            index += 1

        elif expression[index] == ')':

            while stack[-1] != '(':

                b = stack.pop()

                a = stack.pop()

                op = stack.pop()

                if op == '+':

                    stack.append(add(a, b))

                elif op == '-':

                    stack.append(subtract(a, b))

                elif op == '*':

                    stack.append(multiply(a, b))

                elif op == '/':

                    stack.append(divide(a, b))

                elif op == '%':

                    stack.append(remainder(a, b))

            stack.pop()

            index += 1

        else:

            while stack and stack[-1] in ['*', '/', '%']:

                b = stack.pop()

                a = stack.pop()

                op = stack.pop()

                if op == '*':

                    stack.append(multiply(a, b))

                elif op == '/':

                    stack.append(divide(a, b))

                elif op == '%':

                    stack.append(remainder(a, b))

            stack.append(expression[index])

            index += 1

    

    while len(stack) > 1:

        b = stack.pop()

        a = stack.pop()

        op = stack.pop()

        if op == '+':

            stack.append(add(a, b))

        elif op == '-':

            stack.append(subtract(a, b))

        elif op == '*':

            stack.append(multiply(a, b))

        elif op == '/':

            stack.append(divide(a, b))

        elif op == '%':

            stack.append(remainder(a, b))

    

    return stack[0]



expression = input("请输入表达式:")



print(calculate(expression))

```

8. 生成二维码

```

import qrcode



data = input("输入要转换的字符串:")



img = qrcode.make(data)



img.save("qrcode.png")

```

9. 将图片转换为字符画

```

from PIL import Image



ascii_chars = [' ', '.', ':', '-', '=', '+', '*', '#', '%', '@']



def to_ascii(image_path, width=100):

    image = Image.open(image_path)

    

    w, h = image.size

    ratio = h / w / 2

    height = int(width * ratio)

    

    image = image.resize((width, height))

    pixels = image.load()

    

    ascii_image = ''

    

    for row in range(height):

        ascii_row = ''

        for col in range(width):

            r, g, b = pixels[col, row]

            grayscale = int(0.2126 * r + 0.7152 * g + 0.0722 * b)

            index = int(grayscale / (255 / len(ascii_chars)))

            ascii_row += ascii_chars[index]

        ascii_image += ascii_row + '\n'

    

    return ascii_image



image_path = input("输入图片路径:")

ascii_image = to_ascii(image_path)

print(ascii_image)

```

10. 文件拷贝工具

```

import os

import shutil



source_dir = input("输入源文件夹路径:")

target_dir = input("输入目标文件夹路径:")



if not os.path.exists(target_dir):

    os.mkdir(target_dir)



for file_name in os.listdir(source_dir):

    source_path = os.path.join(source_dir, file_name)

    target_path = os.path.join(target_dir, file_name)

    

    if os.path.isdir(source_path):

        shutil.copytree(source_path, target_path)

        shutil.rmtree(source_path)

    else:

        shutil.copy2(source_path, target_path)

        os.remove(source_path)

大家觉得有帮助的话还请大家给个收藏关注鼓励一下

有什么问题评论区留言,看到会恢复哒~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值