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)
#第二种方法
a = '*'
for i in range(1,8,2):
print((a*i).center(7))
for i in reversed(range(1,6,2)):
print((a*i).center(7))
#第三种方法
a = '*'
for i in range(1,8,2):
print((a*i).center(7))
k = 5
while k > 0:
print((a*k).center(7))
k-=2
2,定义一个函数,以两种方式传入姓名,年龄和地点,直接在屏幕上打出自我介绍 ‘你好, 我的名字是 name,今年 age,现在居住在 addr’
def fun():
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 次, 则答题失败并退出游戏
real = 'q'
i = 5
while i >= 1:
cai = input('enter:')
if cai.islower():
if cai > real:
print('正确字母在此之前')
elif cai < real:
print('正确字母在此之后')
else:
print('猜对了')
break
i -= 1
else:
print('请输入小写字母')
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 == 0:
return number//2
else:
return number*3+1
num = int(input('enter a number:'))
while True:
# while number != 1:
if collatz(num) == 1:
print(1)
break
else:
num = collatz(num)
print(num)