import random
count =0# 记录用户输入次数
i = random.randint(0,9)whileTrue:try:
a =int(input('请输入一个0-9的数字:'))# 用户输入数字except ValueError:print('您输入的数据错误!')else:
count +=1if a > i:print('遗憾,您输入的数字太大了!')elif a < i:print('遗憾,您输入的数字太小了!')else:breakprint('预测{}次,您猜中了!'.format(count))
ls =input('请输入一串字符串>>>>:')
digit =0# 记录数字总数
str1 =0# 记录字符串总数
a =0# 记录空格总数
n =0# 记录其它字符串总数for i in ls:if i.isdigit():# 判断数字
digit +=1elif i.isalpha():# 判断字母
str1 +=1elif i.isspace():# 判断空格
a +=1else:# 其他字符
n +=1print('“{0}”中字符有:{1}个,数字有:{2}个,空格有{3}个,其它字符有{4}个'.format(ls, str1, digit, a, n))
4.使用print函数和循环结构输出如下由*组成的金字塔(可以尝试根据层数动态输出)
# 方法1:使用center函数,默认用空格填充
a =int(input('请输入层数:'))
i =0while i <= a-1:
c ='*'*(2*i+1)# 每层*数print(c.center(2*a-1))# 设置总居中的宽度,每层打印居中打印*
i +=1# 方法2:使用循环方式,先计算出每行需要打印的空格和*,打印出每行数据try:
a =int(input('请输入要打印的金字塔层数:'))except ValueError:print('您输入的数据错误!')else:
i =0# 循环计算for i inrange(a):
space =(a -1)- i # 每层左侧需要打印的空格数
str1 =2* i +1# 每层需要打印的*数
ls =' '*space +'*'*str1
print(ls)
5.使用print函数和循环结构输出如下由*组成的空心的金字塔图形(选做)
a =int(input('请输入要打印的金字塔层数:'))for i inrange(a):for n inrange((a-1)-i):# 打印空格,每行空格数:(a-1)-iprint(' ', end='')# end 表示不换行for q inrange(2*i+1):# 打印星星,每行*数:2*i+1if q ==0or q ==2*i or i == a-1:# 判断打印星星位置,在开头,结尾和最后一行打印星星print('*', end='')else:print(' ', end='')print()# 老师的代码
n =7for i inrange(n):# 计算空格的数量
space_num = n-i-1# 计算星星的数量
star_num = i*2+1if i ==0or i == n-1:# 第1层后最后一层和实心的一样# 打印对应数量的空格和星星print(' '*space_num +'*'*star_num)else:# 中间层print(' '*space_num +"*"+' '*(star_num-2)+'*')
6.使用print函数和循环结构输出如下由*组成的菱形
#我的代码try:
a =int(input('请输入要打印的层数:'))except ValueError:print('您输入的数据错误!')else:
i =0# 循环计算for i inrange(a):
space =(a -1)- i # 每层左侧需要打印的空格数
str1 =2* i +1# 每层需要打印的*数
ls =' '*space +'*'*str1
print(ls)for j inrange(a):
space1 = j+1# 每层左侧需要打印的空格数
str2 =2*(a-1-j)-1# 每层需要打印的*数
ls =' '* space1 +'*'* str2
print(ls)#老师的代码# 第一步打印一个n层的金字塔# 多少层
n =7for i inrange(n):# 计算星星的数量
star_num = i*2+1# 计算空格的数量
space_num = n-i-1# 打印对应数量的空格和星星print(' '*space_num +'*'*star_num)# 下一步打印一个n-1层的倒金字塔for i inrange(n-1):# 星星的数量
star_num =(n-1-i)*2-1# 打印空格和星星的数量print(' '*(i+1)+'*'*star_num)