Collatz 序列、逗号代码、字符图网格实例
作者:jingxian 发布时间:2023-07-27 10:24:31
1.collatz序列
编写一个名为 collatz()的函数,它 有一个名为 number 的参数。如果参数是偶数, 那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打 印并返回 3 * number + 1。 然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直 到函数返回值1。
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
def collatz(number):
print(number)
if number ==1:
return number
elif number % 2 ==0:
return collatz(number//2)
else:
return collatz(3*number +1)
A = int(input('Input a number: '))
while True:
if collatz(A) != 1:
continue
else:
break
输出结果:
Input a number: 6
6
3
10
5
16
8
4
2
1
2.逗号代码
假定有下面这样的列表: spam = ['apples', 'bananas', 'tofu', 'cats']
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所 有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入and。例如,将前面的 spam 列表传递给函数,将返回'apples, bananas, tofu, and cats'。但你的函数应该能够处理传递给它的任何列表。
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
def func(spam):
spam[-1]='and'+ ' ' + spam[-1]
for i in range(len(spam)):
print(spam[i], end=',')
spam = ['apple', 'bananas', 'tofu', 'cats', 'dog']
func(spam)
#输出结果
apple,bananas,tofu,cats,and dog,
3.字符图网格
假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:
grid =[['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
你可以认为 grid[x][y]是一幅“图”在 x、y 坐标处的字符,该图由文本字符组成。原点(0, 0)在左上角,向右 x 坐标增加,向下 y 坐标增加。 复制前面的网格值,编写代码用它打印出图像。
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
grid = [
['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
#嵌套循环
for n in range(len(grid[0])):
for m in range(len(grid)):
print(grid[m][n], end='')
print('\n')#换行
#输出结果
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....


猜你喜欢
- 写好脚本,注册好服务之后,经测试,ORACLE可以随RHEL启动而启动,但不能随系统关闭而关闭。在网上找答案,发现几乎所有的设置过程帖子都是
- def get_seed_data(filename):dom = minidom.parse(filename)root = dom.do
- 创建测试表:DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (`year` int(11)
- 现在大部分网站都使用asp+access构建,这样的话通过下载access数据库简单就可以对网站进行破坏! 而很多的网站都不太重
- 首先,我们了解下什么是数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止
- 这篇文章中我们将通过对HelloWorld的message进行操作,介绍一下如何使用flask进行Restful的CRUD。概要信息事前准备
- 很多时候我们写的程序,会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。
- 摘要: 当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。当你想快速共享一个目录的时候,这是特别有用的,只需
- 我的数据库如图结构我取了其中的name age nr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是a
- 本文实例为大家分享了python样条插值的具体实现代码,供大家参考,具体内容如下import numpy as npimport panda
- 一、MySQL的下载 1.登陆MySQL的官网下载适用于64位系统的ZIP压缩包(https://dev.mysql.com/do
- 本文实例讲述了python追加元素到列表的方法。分享给大家供大家参考。具体实现方法如下:scores = ["1",&q
- 在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。这个表现十分像
- python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。1.异常处理:
- 先看javascript的普通函数用法 function sum(a,b){ var c = 10; function add(){ c++
- 人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:人民币和美元间汇率固定为:1美元 = 6.78人民币。程序可以接
- DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法。起源为何放弃Drive
- 本文实例讲述了python处理图片之PIL模块简单使用方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pytho
- 这篇文章主要介绍了在SQL Server中处理空值时所涉及的3个问题:计数、使用空表值以及外键处理。用COUNT(*)处理空值大多数集合函数
- 爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲