Python:每日一题007
题目:
输出 9*9 乘法口诀表。
程序分析:
分行与列考虑,共9行9列,i控制行,j控制列。
个人思路及代码:
第一版:
for i in range(1,10):
for j in range(1,10):
print(" %s*%s=%s"%(i,j,i*j),end='')
第二版
for i in range(1,10):
for j in range(1,10):
print("%d*%d=%2d " % (j, i, i * j),end="") #注意这里的i,j调换了位置
print() #这里换行表示每取完一个i值后进行换行,print自带换行
分析:for i in range(1,10)表示i可以取值到1-9,
当i=1时,j可以取值到1-9,
当i=2时,j可以取值到1-9,
当i=3时,j可以取值到1-9,
...
当i=9时,j可以取值到1-9,
输出结果是这样的


这里可以加入判断条件限制输出
第三版
for i in range(1,10):
for j in range(1,10):
if j <= i:
print("%d*%d=%2d " % (j, i, i * j),end="")
print()
输出结果


其他参考解答
解答1:
for i in range (1,10):
for j in range(1,10):
print(j,"x",i,"=",i*j,"\t",end="")
if i==j:
print("")
break #注意这里的break的使用
分析:当i=1时,j只能取值到1,之后换行,当i=2时,j只能取值到2,依次类推,输出乘法表。
解答2
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d "%(j,i,i*j),end="")
print()
分析:这里的j取值是根据i来进行取值的,即当i = 1时,j只能取值1,当i=2时,j可以取值1、2,与上面的代码的核心是控制j的取值范围。
解答3
print ('\n'.join([' '.join(['%s*%s=%-2s' % (j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
分析:将上面的解答2转成列表解析式的形式一行输出。
解答4
i=0
j=0
while i<9:
i+=1
while j<9:
j+=1
print(j,"x",i,"=",i*j,"\t",end="")
if i==j:
j=0
print("")
break
(本文编号007,首发于2018年9月17日,修改于2018年9月18日)
Python:每日一题007的更多相关文章
- Python每日一题 007
题目 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. 很难客观的说每篇日记中最重要的词是什么,所以在这里就仅仅是将每篇日记中出 ...
- Python每日一题 004
将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中. 代码 import redis import uuid # 创建实例 r=redis.Redis(&quo ...
- Python每日一题 003
将 002 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 代码 import pymysql import uuid def get_id(): for i in ra ...
- Python每日一题 002
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 在此生成由数字,字母组成的20位字 ...
- Python每日一题 009
题目 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 代码 参照网络上代码 # coding: utf-8 import os import re # ...
- Python每日一题 008
题目 基于多线程的网络爬虫项目,爬取该站点http://www.tvtv.hk 的电视剧收视率排行榜 分析 robots.txt User-agent: Yisouspider Disallow: / ...
- Python每日一题 006
题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长( ...
- Python每日一题 005
任一个英文的纯文本文件,统计其中的单词出现的个数. 代码 # coding:utf-8 import re def get_word(filename): fp=open(filename," ...
- Python每日一题 001
Github地址:https://github.com/Yixiaohan/show-me-the-code Talk is Cheap, show me the code. --Linus Torv ...
随机推荐
- 我是一个录像机(NVR)
我是一个网络录像机,简称NVR.我的前辈是DVR,我们的区别很简单,DVR接的是模拟摄像机,我连接的是IP摄像机. 我的前辈DVR比我辛苦,因为模拟摄像机的模拟信号连过来之后,他要进行数字化.编码压缩 ...
- [转]MySQL group_concat设置group_concat_max_len
GROUP_CONCAT函数用于将多个字符串连接成一个字符串,在拼接成字符串时就会存在拼接长度的问题,mysql 默认的拼接最大长度为1024 个字节,由于1024个字节会出现不够用的情况,所以有时需 ...
- Power Designer 转C#实体类方法
1.打开Power Designer菜单 Tools,选择如图 2.弹出方框中选择PD安装目录下的如图地址 3.object language选择正确目录后,可选如图语言,如C#.再填写name ...
- 20165312 2017-2018-2《Java程序设计》课程总结
20165312 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:C语言基础调查和java学习展望 预备作业3:Linux安 ...
- [sharepoint]修改Item或者File的Author和Editor
写在前面 最近项目中调用sharepoint rest api方式获取文件或者Item列表,而用的方式是通过证书请求,在上传文件,或者新建item的时候,默认的用户是在sharepoint端注册的用户 ...
- 杂谈2.py
tuple用圆括号括住的项的列表,这些项不能改变,括号内的值都是相关的 dictionary 已经配对的键和值的列表,用花括号括住 当创建对象并在其中存储信息的时候变量的类型就确定啦 type(obj ...
- Linux下载命令之rpm和yum比较
RPM和YUM比较 rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh,rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其他的软件包 ...
- js类的继承,es5和es6的方法
存在的差异:1. 私有数据继承差异 es5:执行父级构造函数并且将this指向子级 es6:在构造函数内部执行super方法,系统会自动执行父级,并将this指向子级2. 共有数据(原型链方法)继承的 ...
- 批量IP自动ping脚本
批量IP自动ping脚本ping.sh 在同一目录新建一个名为pingip的文件,并以每行一个IP的方式罗列.使用sh命令执行ping.sh #!/bin/bash IP_LIST=`cat ping ...
- FTP管理常用命令
#新增用户liuhui,指定群组为groupa,附加群组为groupb,家目录为/ftp/groupbuseradd -g groupa -G groupb -d /ftp/groupb linhui ...