一.判别一个字符串是否为合法的手机号
tel=input()
if(tel.isdigit()):#检查手机号是否为数字
if(len(tel)==11):
print('是合法手机号')
else:
print('不是合法手机号')
else:
print('不是合法手机号')
二.十进制转二进制
N=1020
while(N>0):
num = N%2
print(num,end='') #print(num,end='')
N = int(N/2)
遇到的问题:
1.最开始代码为N=N/2时,结果出现大量小数,前面加int,可保证每次进入循环的N都为N/2的商(整数)
2.在默认情况下,print()函数会自动在行末加上回车,如果不需回车,使用end参数,就可以改变它的行为。
3.此时输出为0011111111
想要使结果为正确的顺序,可先把计算出来的余数存储在字符串中,然后使用字符串切片运算倒序输出。
N=1020
num=''
while(N>0):
num+=str(N%2)
N=int(N/2)
print(num[::-1])
三.N的阶乘
num=1
N=int(input())
for item in range(1,N+1):
num*=item
item=item+1
print(num)
出现的问题:
最开始代码为N=input(),输入一个数后会报错,因为无论用户输入的是什么信息,默认都是以字符串(str型)的形式被input()函数获取。