作业-3

mac2024-01-24  33

1, 打印由‘*’组成的实心菱形图案

for i in range(1,8,2): j = int((7 - i) / 2) print(' '*j + '*'*i + ' '*j) for i in range(5,0,-2): j = int((7 - i) / 2) print(' '*j + '*'*i + ' '*j) s='*' for i in range(1,8,2): print((s*i).center(7)) for i in reversed(range(1,6,2)): print((s*i).center(7))

2,定义一个函数,以两种方式传入姓名,年龄和地点,直接在屏幕上打出自我介绍 ‘你好, 我的名字是 name,今年 age,现在居住在 addr’

def me(): print('你好,我的名字是%s,今年%d,现在居住在%s' % (name,age,addr)) print('你好,我的名字是{},今年{},现在居住在{}'.format(name,age,addr)) name = input('name:') age = int(input('age:')) addr = input('address:') fun()

3,将一个英文语句以单词为单位逆序排放。所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符- 输入描述:将一个英文语句以单词为单位逆序排放。- 输出 描述:得到逆序的句子 示例 1

输入 I am a boy 输出 boy a am I

list_str = list(input('英文语句以单词为单位逆序排放:').split(' ')) list_str.reverse() print(' '.join(list_str))

4,猜字母游戏,自己定义一个喜欢的字母给答题者去猜,若猜的不是 26 个小写字母就重新 让用户输入,若猜的字母不是你设置的字母就给出正确提示(之前或者之后),若打错 5 次, 则答题失败并退出游戏

letter_list=[chr(x) for x in range(ord('a'),ord('z')+1)]#ord将字母转为数字,chr数字转为字母 she='x' i=1 while i <6: cai = input('输入字母') if cai in letter_list: if cai<she: print('在正确之前') elif cai>she: print('在正确之前') else: print('恭喜答对') break else: print('请输入合法字符') i+=1 else: print('输错五次,游戏结束')

5.Collatz 序列 编写一个名为 collatz()的函数,它有一个名为 number 的参数。 如果参数是偶数,那么 collatz()就打印出 number//2,并返回 该值。如果 number 是奇数,collatz()就打印并返回 3*number+1。 然后编写一个程序,让用户输入一个整数,并不断对这个数 调用 collatz(),直到函数返回值 1(令人惊奇的是,这个序列 对于任何整数都有效,利用这个序列,你迟早会得到 1!既使数学 家也不能确定为什么。你的程序在研究所谓的“Collatz 序列”, 它有时候被称为“最简单的、不可能的数学问题”)。 - 输入: 3 - 输出: 10 5 16 8 4 2 1

def collatz(number): if number % 2: num = 3*number+1 print(num) else: num = number//2 print(number//2) return num number = int(input('请输入一个数:')) while number != 1: number = collatz(number)

最新回复(0)