练习-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 "% ...
随机推荐
- php 单线程 (http://bbs.csdn.net/topics/390778072)
以前想php单线程,网站肯定是用于多人访问的,如果访问量大,那岂不是出现排队问题? apache+php是阻塞型处理,nginx+php是异步非阻塞的,php有进程管理器,fpm fcgi什么的.ph ...
- Web Servlet的体系架构
Servlet为根接口,里面有5个方法,init() servlet初始化,将ServletConfig作为参数传入,service() 响应请求,destroy() 销毁servlet,getSer ...
- netbeans许可证模板设置
工具->模板->设置 user=your name 工具->模板->许可证->默认许可证 <#if licenseFirst??>${licenseFirst ...
- selenium 难定位元素,时间插件,下拉框定位,string
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...
- PHP 实现归并排序算法
算法原理 原理: 利用递归,先拆分.后合并.再排序. 步骤: 均分数列为两个子数列 递归重复上一步骤,直到子数列只有一个元素 父数列合并两个子数列并排序,递归返回数列 代码实现 // 归并排序主程序 ...
- 20145313张雪纯 《Java程序设计》第6周学习总结
20145313张雪纯 <Java程序设计>第6周学习总结 教材学习内容总结 将数据从来源中取出,可以使用输入串流:将数据写入目的地,可以使用输出串流. 输入串流代表对象为java.io. ...
- 20144303 《Java程序设计》第九周学习总结
20144303 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 一.JDBC入门: JDBC全名Java DataBase Connectivity,是java联机数据库 ...
- ubuntu下 gedit中文乱码
Gedit 3.x 版本设置 (适用于Ubuntu 11.10及以后) 命令方式 gsettings set org.gnome.gedit.preferences.encodings auto-de ...
- Linux安装ftp组件vsftpd
1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 添 ...
- shell小脚本--从laod博客更新hosts文件
#!/bin/bash #-------------------------------------------- # name: change-hosts.sh #----------------- ...