Python入门总结-默单词程序

目录

前言

一、主要功能

二、使用步骤

1.引入库

2.代码段

总结


前言

Python入门学了一半,想着总结一下,就尝试写了一个默单词的程序


一、主要功能

主要功能是根据输入的字符串要求你默写出指定中文对应的翻译,期间会提示你下一步操作,会判断你输入的格式是否符合程序的要求,会将你所输入的单词打乱循序并在特定情况询问你是否要退出。 注:只学了入门前半段所以只能在开发工具中运行

二、使用步骤

1.引入库

只接触了random库

import random

2.代码段

import random  # 导入random库


# 1.生成列表
def sclist():  # 变量定义
    while True:  # 死循环
        list1 = []  # 定义空序列
        m = int(input("请选择默写的个数:"))  # int(),input()方法
        n = 1
        # while循环
        while n <= m:
            a = input(f"请输入第{n}个单词(格式:英文+空格+中文):")  # 格式化输出
            a = a.strip()  # 去除字符串首尾空格的strip()方法
            # if选择结构
            if a.find(" ") == -1:  # 查找指定字符串的find()方法
                print("找不到空格,请重新输入")
                continue
            elif a.count(" ") != 1:  # 指定子字符串个数的count()方法
                print("应该只保留一个空格,请重新输入")
                continue
            else:
                list1.append(a.lower())  # 追加数据的append()方法
                # print(list1)
            n += 1

        # for循环,遍历分割各个字符串
        for i in range(0, len(list1)):  # range()方法、len()方法
            list1[i] = list1[i].split(" ")  # 分割字符串的split()方法

        # 遍历输出默写的内容,用于确认
        print("您将默写的内容如下:")
        for i in list1:
            print(i)

        YN = input("确定吗?(Y/N)")
        if YN.upper() == "Y":  # 转换大写的upper()方法
            break  # 终止循环的break
        else:
            YN2 = input("退出吗?(Y/N)")
            if YN2.lower() == "y":  # 转换小写的lower()方法
                list1 = 1
                break
    return list1


# 2.主程序
list1 = sclist()  # 调用变量
# list1 = [['access', 'v.进入'], ['configure', 'v.配置']]
while list1 != [] and list1 != 1:

    # 3.随机效果

    list2 = []  # 生成与list1长度相同的空列表
    for i in range(0,len(list1)):
         list2.append([])
    # 打乱顺序
    for i in list1:
        x = random.randint(0,len(list1)-1)  # 生成随机数字
        while list2[x] != []:
            x = random.randint(0, len(list1) - 1)
        list2[x] = i
    # 将得到的数据赋值给list1
    list1 = list2
    # 去除列表中的空列表
    for i in range(len(list2)-1, 0, -1):  # 不知道删除空列表后会不会影响它的长度,所以用与他相同的list2定位
        # 当i指向的数据为空列表时,删除该数据
        if list1[i] == []:
            del list1[i]  # 删除序列数据的del()方法


    # 4.默写阶段
    # 将空字符串赋值给list2,用于接收默写错误的单词
    list2 = []
    i = 0
    while i < len(list1):
        # 输出汉语,让你输入你记忆中的英文翻译
        a = input(f"{list1[i][1]}: ")
        # 当输入退出时,退出这一次的默写
        if a == "退出":
            break
        # 判断您默写的是否与之前输入的是否相等
        elif a != list1[i][0]:
            # 将错误的单词添加到list2用于后面的默写
            list2.append(list1[i])
            # 打印正确的单词,退回重新输入,用于加深印象
            print(list1[i][0])
            i -= 1
        i += 1
    # 将错误的单词打印出来
    for i in list2:
        print(i)
    # 将错误的单词赋值给list1用于下一轮默写
    list1 = list2

总结


运用了所学的选择结构、循环结构、字符串、列表、常用的一些方法以及初步了解的库和变量。

接下来继续学字典。。。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>