1. 在金字塔模式中显示数字(编写一个嵌套 for 循环来显示下面的输出):
为了给同学们更好地指导实验,我得认真提前把题目做一遍。这个题目其实还是有点复杂的,想了一种比较简单的解法如下(代码小弱请勿嘲笑):
for i in range (0,8):
for j in range(7-i):
print(" ",end=" ")#输出空格
for k in range(i+1):
print(2**k,end=" ")#递增的数
k+=1
t=i
for k in range(i):
print(2**(t-1),end=" ")#递减的数,t用来作为迭代量
t=t-1
k=k+1
print("\n")
结果如下:
2. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前 20 项之和。
a=2
b=1
t=0
for i in range(20):
t+=a/b
a,b=a+b,a
t
运行结果:32.66026079864164
3.用户从键盘输入一串字符(以回车键结束),统计并输出其中数字、大写字母、小写字母以及其他字符的个数。
a=b=c=d=0
ste=input("please input a str:")
for ch in ste:
if ch=='\n':
break
elif ch>='A' and ch<='Z':
a+=1
elif ch>='a'and ch<='z':
b+=1
elif'0'<=ch<='9' :
c+=1
else:
d=+1
print(a,b,c,d)
测试:please input a str:adj784GGH
3 3 3 0
4.利用 turtle 库编写程序绘制一个国际象棋棋盘。
这个CSDN上随便一搜源码很多,方法也多,就不写了
5.使用字符串反向的方法重新编写案例 4 程序。
案例 4
编写程序提示用户输入一个 5 位数,判断它是否是一个回文数。如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数。例如:12321 是回文数,个位与万位相同,十位与千位相同。
n=int(input("输 入 一 个 五 位 整 数"))
if n<10000 or n>99999:
print("输 入 错 误")
else:
b=str(n)
if(b==b[::-1]):
print(True)
else:
print(False)
测试:输 入 一 个 五 位 整 数12321
True
6.从键盘输入一个整数字符串,统计输出该整数的各个数位一共有多少个奇数。例如“12345”这个数,有3 个数位为奇数(1、3、5)。
a=0
ste = input("please input a num str:")
for ch in ste:
if ch == '\n':
break
elif int(ch)% 2 != 0:
a += 1
print(a)
测试:please input a num str:123
2
完事了呢,同学们下周见!