目录
前言
1、使用while实现模拟用户登录
1.1 题目要求
1.2 解题
2、输入数字,生成对应等腰三角形
2.1 题目要求
2.2 解题
3、输入数字,生成对应的菱形
3.1 题目要求
3.2 解题
总结
前言
本系列主要是讲解python中的题目,目的是为了巩固所学知识,本篇主要围绕python中所学的循环结构,进行题目练习。
1、使用while实现模拟用户登录
1.1 题目要求
事先设定好账号和密码,这里账号使用pxy123,密码使用888888。
当用户输入账号密码正确时,输出“正在登录,请稍后”的字样。当用户输入账号或密码错误时,输出“密码错误,请重新输入”,并给出剩余输入次数。设定输入错误次数不得超过3次。一旦输入错误超过三次,则输出“输入错误超过三次,登录失败”的字样。
1.2 解题
本题需要用到循环结构进行编写,其中,循环次数最大为3,如果中途输入成功,则直接跳出循环,如果循环3次未输入正确账号密码,则输出“登录失败”的字样。
i=0
while i<3:idn=input("请输入账号:")pwd=input("请输入密码:")if idn=="pxy123" and pwd=="888888":print("输入成功,正在登录,请稍后")i=8else:print("输入错误,您还有",2-i,"次机会,请重新输入")i+=1
if i==3:print("3次均错误,登录失败")
效果如下:
2、输入数字,生成对应等腰三角形
2.1 题目要求
输入数字,该数字为生成等腰三角形的行数,如:
2.2 解题
只需要设计一个嵌套循环,下面看代码:
n=eval(input("请输入等腰三角形三角形行数:"))while n!=0:i=0while i<n:j = 0while j<n-i-1:print(' ',end='')j+=1j=0while j<2*i+1:print('*',end='')j+=1i += 1print(end='\n')n = eval(input("请输入等腰三角形三角形行数:"))
效果如下:
我们需要找到每一行星号和空格数量的关系,我们发现,第一行输出的空格正好等于输入值n减去1。然后输出星号的个数随着行数以1、3、5、7...这样的规律上升。以此为依据,写出了如上代码,完成了任务要求。
3、输入数字,生成对应的菱形
3.1 题目要求
输入菱形的行数,注意只能是奇数。生成相应的菱形,如:
3.2 解题
此题思路与上题类似,找出每一行之间空格和星号的关系,特别注意的是,对于菱形,如果我们将它从中间切开,可以分成两个有规律的等边三角形处理,这样有助于我们解题:
n=eval(input("请输入菱形的行数:"))
while n!=0:for i in range(1,n+1):if i<=n//2+1:j=1while j<=n//2-i+1:print(' ',end='')j+=1j=1while j<=2*i-1:print('*',end='')j+=1print(end='\n')else:k=i-n//2-1j=1while j<=k:print(' ',end='')j+=1j=1while j<=n-2*k:print('*',end='')j+=1print(end='\n')n = eval(input("请输入菱形的行数:"))
效果如下:
总结
通过做题,我们能够更加深刻了解python的用法,了解知识点。希望这几题能对你有所帮助。