1.念数字,输入一个数,输出每个数对应的拼音,例如输入123输出yi er san
# 数字拼音
num = ['0','1','2','3','4','5','6','7','8','9','-']
pin = ['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu']
num1 = input('请输入一个数字:')
pin1 = ''
for i in num1:
for x in range(11):
if num[x] == i :
pin1 += pin[x] +' '
print(pin1)
2.特殊数列求和,输入一个小于10正整数的数,求1+12+…的前n项和
# 特殊数列求和
num1 = eval(input('请输入一个数字(小于10)'))
sum = 0
num = ''
if type(num1)==type(2):
if num1 >= 10:
print('date error')
elif 0<num1<10:
for i in range(1,num1+1):
num += str(i)
sum += int(num)
print(sum)
3.打印九九乘法表
# 打印九九乘法表
for i in range(1,10):
for j in range(1,11-i):
print('{}*{}={}'.format(i,j,i*j),end='\t')
print()
4.将十进制的数转为十六进制的数,不使用进制转换函数。
# 十进制转为十六进制
# 方法一
s = '0123456789ABCDEF'
num10 = eval(input('请输入一个十进制的数'))
a = num10//16
b = num10%16
list1 = [b]
num16 = ''
while a>=16:
b = a%16
list1.append(b)
a = a//16
else:
list1.append(a)
list2 = list(reversed(list1))
for i in list2:
num16 += s[i]
print(num16)
# 方法二
# 使用列表存储数据
# 与方法一类似,不做赘述
s = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
5.输入一个二进制,转化为十进制,如果是小数,分为整数和小数两部分,分别计算
# 二进制转为十进制
num2 = input('请输入一个二进制的数字')
listi = num2.split('.')[0] # 整数部分
listf = num2.split('.')[1] # 小数部分
s = '0123456789'
# 整数二进制
integer = ''.join(listi)
a = int(integer,2)
# 小数部分二进制转换
flo = ''.join(listf)
b= int(flo,2)
# 格式化
print('{0}.{1}'.format(a,b))
6. 判断一个数是否为素数
# 判断一个数是否为素数
num=eval(input('请输入一个数字'))
i=2
while i<=((num//2)+1):
if num%i == 0:
print('{}不是素数'.format(num))
break
i+=1
else:
print('{}是素数'.format(num))
7 输出费氏数列,直到某一项大于300为止
1.for循环
# 费氏数列
list1 = [0,1]
for x in range(300):
a = list1[x] +list1[x+1]
list1.append(a)
if a >= 300:
break
print(list1)
2.while循环
# 费氏数列
list1 = [0,1]
x = 0
while x<=20:
a = list1[x] +list1[x+1]
list1.append(a)
x=x+1
if a >= 300:
break
print(list1)