练习-99乘法表 token生成器 翻译小工具
一、99乘法表

1.1 技术点
记住:
for 循环的使用,以及for的嵌套使用
range()的使用,掌握sep为负数的使用的使用。
print() 函数的使用,默认的结尾的换行符 替换 end= ' '
f-format的使用,控制字符的宽度 {x:4} 这样x的输出即使4个字符的
1.2 代码部分
版本1:数字版本 使用f-format的宽度来控制格式化对齐
for i in range(9, 0, -1):
for j in range(1,i+1):
print(f'{j}*{i}={i*j:2}', end=' ')
print() 版本2:使用字符串的方式来控制格式化对齐
for i in range(9, 0, -1):
for j in range(1, i+1):
print(f'{j}*{i}={str(i*j).ljust(2)}', end=' ')
print()
版本3:中文版本的数字,就是用到列表索引的转换
ch_num = ['零','一','二','三','四','五','六','七','八','九']
# print(ch_num[0])
for i in range(9, 0, -1):
for j in range(1, i+1):
result = str(i*j).zfill(2) # 用字符0去填充
left = ch_num[int(result[0])]
right = ch_num[int(result[1])]
if int(result) > 9:
print(f'{ch_num[j]}*{ch_num[i]}={left}十{right}', end=' ')
else:
print(f'{ch_num[j]}*{ch_num[i]}={right:5}', end=' ')
print()
二、token生成器
2.1 技术点解决
- random 标准库随机取数值
使用random.choice方法(另外有一个choices使用方法比较复杂就不使用那个了)
ranmdom.choice(seq) 从一个序列中返回一个元素
- string 标准库东西
是一个字符串常亮的集合。可以用于枚举acsII码的字符,这样我们就不用手写一大堆集合了。
help查看里面的数据

- 字符串与数字的这练习 join方法
>>> s = ['a','b','c','d','e']
>>> ''.join(s)
'abcde'
>>> s = ['a','b','c','d','e',1,2]
>>> ''.join(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 5: expected str instance, int found
>>> s = ['a','b','c','d','e','','']
>>> ''.join(s)
'abcde12'
join方法练习
- 列表与列表推导式
append 向一个列表中添加元素
列表推导式:
import random
li=[x for x in range(5)]
print(li) # 前面部分不一定要跟后面的x有关系,后面只是控制次数
li=[random.choice('defijjdiw31') for x in range(5)]
print(li) #因为x,只是用于控制次数,我们可以用 _ 来代替,节省内存空间
count = int(input())
li=[random.choice('defijjdiw31') for _ in range(count)]
print(li)
列表推导式
2.2 代码
#### 第一版本 lowb版本
'''
import random
token = []
count = int(input()) # 输入要生成几位的随机数 for i in range(count):
x = random.choice('asdeadasd1234567')
token.append(x)
token = ''.join(token)
print(token)
''' #### 第二版本 string 版本 import string, random
token = []
s = string.ascii_letters + string.digits
count = int(input())
for i in range(count):
x = random.choice(s)
token.append(x)
print(''.join(token)) #### 第三版本 列表推导版本
三、字典小工具
'''
字典小程序:
1.可以查询单词
2.可以自定义补充单词
3.可以删除某个单词
''' print('欢迎来到LH的字典王国'.center(30, '-')) my_dict = {'中文':'Chinese','书':'book','西瓜':'watermelon'} querry = input('请输入要查询的中文:').strip()
# 查询的中文,去除两边的空格 if my_dict.get(querry):
print(f'你查询的中文为:{querry},意思是:{my_dict[querry]}')
else:
add = input('没有查询到,是否愿意为小词扩产词库(y/n)').strip()
#避免输入的时候,多加了空格,先去除两边的空格
if add == 'y':
print(my_dict)
print('谢谢帮助,请添加单词和相关解释,用冒号分割,')
words = input('实例:(书:book)').strip()
if len(words.split(':')) == 2: # 使用英文冒号分割
words = words.split(':')
my_dict[words[0]] = words[1]
elif len(words.split(':')): # 使用中文冒号分割
words = words.split(':')
my_dict[words[0]] = words[1]
else:
print('输入有错,请按照正确的方式')
print(my_dict)
else:
print('')
练习-99乘法表 token生成器 翻译小工具的更多相关文章
- javascript小实例,实现99乘法表及隔行变色
人生短暂,废话不多说,直奔主题! 这个小实例的要求: 实现在页面中输出99乘法表.(要求:以每三行为一组,实现隔行变色(颜色为白,红,黄(也可自己定义)),鼠标滑过每一行,行背景颜色变为蓝色,鼠标离开 ...
- python(7)- 小程序练习:循环语句for,while实现99乘法表
打印99乘法表 for 循环语句实现: for i in range(1,10): for j in range(1,10): print(j,"x",i,"=" ...
- Python,for循环小例子--99乘法表
一.99乘法表 for i in range(1, 10): for j in range(1, i + 1): print('%sx%s=%s ' % (j, i, j * i), end='') ...
- JavaScript——99乘法表
<!DOCTYPE html> <html> <head> <title>99乘法表</title> <style type=&quo ...
- js实现99乘法表
实现99乘法表(输出到页面上) * document.write("<table border='1' bordercolor='blue'>"); //循环行 9 f ...
- python打怪之路【第一篇】:99乘法表
需求:实现99乘法表 代码: #!/usr/bin/env python # -*- coding:utf-8 -*- #author chenjing for i in range(10): for ...
- For循环练习之99乘法表和转义字符
之前说了for循环的概念以及常用到的操作,那么我们接下来做几个巩固练习: 1.打印99乘法表: 99乘法表的形式: 1*1 = 1 1*2 = 2 2*2 = 4 1*3 = 3 2*3 = 6 3* ...
- JavaScript--循环--打印星星和99乘法表
1.打印99乘法表 function chengfa(){ //反复调用公式 for(var r=1;r<=9;r++){ for(var i=1,str="";i<= ...
- Python之打印99乘法表
本脚本实现打印99乘法表 #!/usr/bin/python #9*9 for i in range(1,10): print for j in range(1,i+1): print "% ...
随机推荐
- Leetcode 235
思路1:对于一棵二叉排序树 1.如果当前节点的值小于p,q的值,那么LCA一定在root的右边: 2.如果当前节点的值大于p,q的值,那么LCA一定在root的左边: 3.如果当前节点的值在p,q的值 ...
- linux环境上运行.net core 初探
1.安装 .net core 环境 rpm --import https://packages.microsoft.com/keys/microsoft.ascsh -c 'echo -e " ...
- 对Java CAS的一些了解(正在整理学习中)
①引言 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度延时,引起性能问题 ...
- python 字符串的一些操作
name = "my \tname is {name} and i am {year} old" print(name.capitalize()) #将首字母都大写 print(n ...
- Web服务器实现文件传输程序设计
总体概括来说就是设计一个Web服务器的流程,将执行流程分为简单的步骤,每个步骤作为一个模块来实现. 1.整体设计 服务器程序发送文件给客户端或者从客户端接收文件,每次通信只能做一次文件传输,传输完毕后 ...
- Decker hello world
Docker 允许在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world root@ranxf:/home/ranxf# docker run ...
- JMeter的安装和目录解析
Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...
- ::before ::after CSS3中的伪类和伪元素
::before和::after伪元素的用法 一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:fo ...
- kali安装机场v2ray客户端
为了方便查找资料,之前安装的ssr在kali上面,感觉速度不怎么快,相比windows和android上慢很多,所以打算在kali上面装个机场试试,看官方介绍说机场比ssr速度更快,下面是安装步骤: ...
- 20145321 《Java程序设计》第6周学习总结
20145321 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入输出 10.1 InputStream OutputStream 1.数据有来源与目的,衔接两者的是串流 ...