练习习题练习
用户登陆程序需求:
1.输入用户名和密码
2.判断用户名和密码是否正确(name = ‘root’,passwd=‘westos’)
3.为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错
for i in range(3):name=input('请输入用户名:')passwd=input('请输入密码:')if name=='root' and passwd=='westos':print('登陆成功')breakelse:print('请重新输入,你还有%d次机会'%(2-i))
else:print('你输入有误.请等待')
用函数定义输入输出
def userin():
user = input(‘请输入用户名’)
return user
def passwordin():
password = input(‘请输入密码’)
return password
i=0
user = input(‘请输入用户名:’)
password = input(‘请输入密码’)
while i<3:
if user==‘root’:
if password==‘password’:
print(‘登录成功’)
exit()
else:
print(‘密码错误,请重新输入’)
password=passwordin()
i+=1
else:
print(‘用户名输入错误,请重新输入’)
user=userin()
i+=1
#print(‘输入错误,请重新输入’)
print(‘登录失败’)
输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数
a=int(input('请输入一个数:'))
b=int(input('请输入一个数:'))
if a>b:for i in range(1,b+1):if a%i== 0 and b%i== 0:gys=i
else:for i in range(1,a+1):if a%i== 0 and b%i==0:gys=i
gbs=(a*b)/gys
print('%d和%d的最大公约数为%d'%(a,b,gys))
print('%d和%d的最大公倍数为%d'%(a,b,gbs))
“”"
*
**
row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row:# 不换行输出print('*',end='')col += 1print('第%d行' % row)# 手动换行print()row += 1
**
*
**
**
*
**
*
“”"
row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row:# 不换行输出print('*',end='')col += 1print('第%d行' % row)# 手动换行row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= 5-row:# 不换行输出print(' ',end='')col += 1m = 1while m<=6-col:print('*',end='')m+=1print('第%d行'%row)# 手动换行print()row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= 6-row:# 不换行输出print(' ',end='*')col += 1print('第%d行' % row)# 手动换行print()row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row-1:# 不换行输出print(' ',end='')col += 1m = 1while m<=6-col:print('*',end='')m += 1print('第%d行' % row)# 手动换行print()row += 1
打印9*9乘法表:
row = 1
while row <= 9:col = 1while col <= row:print('%d * %d = %d\t' %(row,col,col*row),end='')col += 1print()row += 1print('1 2 3')
print('10 20 30')
\t:在控制台输出一个制表符,协助我们在输出文本时在垂直方向保持对齐
print('1\t2\t3')
print('10\t20\t30')
“”"
猜数字游戏
if , while(for), break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
import random
x = random.randint(1,100)
print(x)trycount = 0
while trycount < 5:tk = int(input('请输入你猜测的数字:'))if tk == x:print('恭喜中奖100万')breakelif tk < x:print('too small')trycount += 1else:print('too big')trycount += 1else:print('机会已经用完了~')
题目要求:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样
的整数。
示例:
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
#示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数
sum=input('Num:')if sum==sum[::-1]:print('该数为回文数')else:print('该数不是回文数')不用字符串的形式,用整数来判断?a=int(input('请输入整数:'))
sum=a
if a<0:print('不是回文数')else:b=0li=[]#假定这个数字最多100位for i in range(1,100):#判断这个数多少位b=int(a/(10**i))if b==0:i=ibreakfor j in range(1,i+1):c=int(a%10)a=int(a/10)li.append(c)
n=0
for k in range(i):s=li[k]*(10**(i-k-1))n=n+s
print(type(n))if n==sum:print('这个数%d是回文数' %(sum))
else:print('这个数%d不是回文数' %(sum))
练习习题练习
用户登陆程序需求:
1.输入用户名和密码
2.判断用户名和密码是否正确(name = ‘root’,passwd=‘westos’)
3.为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错
for i in range(3):name=input('请输入用户名:')passwd=input('请输入密码:')if name=='root' and passwd=='westos':print('登陆成功')breakelse:print('请重新输入,你还有%d次机会'%(2-i))
else:print('你输入有误.请等待')
用函数定义输入输出
def userin():
user = input(‘请输入用户名’)
return user
def passwordin():
password = input(‘请输入密码’)
return password
i=0
user = input(‘请输入用户名:’)
password = input(‘请输入密码’)
while i<3:
if user==‘root’:
if password==‘password’:
print(‘登录成功’)
exit()
else:
print(‘密码错误,请重新输入’)
password=passwordin()
i+=1
else:
print(‘用户名输入错误,请重新输入’)
user=userin()
i+=1
#print(‘输入错误,请重新输入’)
print(‘登录失败’)
输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数
a=int(input('请输入一个数:'))
b=int(input('请输入一个数:'))
if a>b:for i in range(1,b+1):if a%i== 0 and b%i== 0:gys=i
else:for i in range(1,a+1):if a%i== 0 and b%i==0:gys=i
gbs=(a*b)/gys
print('%d和%d的最大公约数为%d'%(a,b,gys))
print('%d和%d的最大公倍数为%d'%(a,b,gbs))
“”"
*
**
row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row:# 不换行输出print('*',end='')col += 1print('第%d行' % row)# 手动换行print()row += 1
**
*
**
**
*
**
*
“”"
row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row:# 不换行输出print('*',end='')col += 1print('第%d行' % row)# 手动换行row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= 5-row:# 不换行输出print(' ',end='')col += 1m = 1while m<=6-col:print('*',end='')m+=1print('第%d行'%row)# 手动换行print()row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= 6-row:# 不换行输出print(' ',end='*')col += 1print('第%d行' % row)# 手动换行print()row += 1row = 1
while row <= 5:# 每一行要打印的星星就是和当前行数是一致的col = 1while col <= row-1:# 不换行输出print(' ',end='')col += 1m = 1while m<=6-col:print('*',end='')m += 1print('第%d行' % row)# 手动换行print()row += 1
打印9*9乘法表:
row = 1
while row <= 9:col = 1while col <= row:print('%d * %d = %d\t' %(row,col,col*row),end='')col += 1print()row += 1print('1 2 3')
print('10 20 30')
\t:在控制台输出一个制表符,协助我们在输出文本时在垂直方向保持对齐
print('1\t2\t3')
print('10\t20\t30')
“”"
猜数字游戏
if , while(for), break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
import random
x = random.randint(1,100)
print(x)trycount = 0
while trycount < 5:tk = int(input('请输入你猜测的数字:'))if tk == x:print('恭喜中奖100万')breakelif tk < x:print('too small')trycount += 1else:print('too big')trycount += 1else:print('机会已经用完了~')
题目要求:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样
的整数。
示例:
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
#示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数
sum=input('Num:')if sum==sum[::-1]:print('该数为回文数')else:print('该数不是回文数')不用字符串的形式,用整数来判断?a=int(input('请输入整数:'))
sum=a
if a<0:print('不是回文数')else:b=0li=[]#假定这个数字最多100位for i in range(1,100):#判断这个数多少位b=int(a/(10**i))if b==0:i=ibreakfor j in range(1,i+1):c=int(a%10)a=int(a/10)li.append(c)
n=0
for k in range(i):s=li[k]*(10**(i-k-1))n=n+s
print(type(n))if n==sum:print('这个数%d是回文数' %(sum))
else:print('这个数%d不是回文数' %(sum))