python循环语句课堂练习及课后作业

编程入门 行业动态 更新时间:2024-10-12 10:23:23

1.

需求1:求1~100之间的所有偶数之和

sum=0
for i in range(2,101,2):sum = sum + i
print(sum)


需求2:求1~100之间的所有奇数之和

sum = 0
for i in range(1,100,2):sum = sum + i
print(sum)

需求3:用户输入一个整形数,求该数的阶乘;3!=321

sum = 1
value=int(input('请输入一个数:'))
if (value == 0):print('阶乘为:0')
else:for i in range(1,value+1):sum = sum * iprint('阶乘为: %d' %(sum)

2.

用户登陆程序需求:
1.输入用户名和密码
2.判断用户名和密码是否正确(name = ‘root’,passwd=‘westos’)
3.为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错

for i  in range(3):yonghu=input('用户名:')mima=input('密码:')if ((yonghu=='root')and(mima=='westos')):print('登陆成功')breakelse:print('用户名或密码错误')print('您还剩余%d次机会'%(2-i))
else:print('您的机会已用尽,请稍后再试')

3.

*
**
***
****
*****
row = 1
while row<=5:col=1while col <=row:print('*',end='')col+=1print()row+=1

    **********
*****
row=1
while row<=5:col=1space=5while space>row:print(' ',end='')space-=1while col<=row:print('*',end='')col+=1print()row+=1
*****
****
***
**
*
row=1
while row<=5:col=5while col >= row:print('*',end='')col-=1print()row+=1
***************
row=1
while row<=5:col=5value=1while value<row:print(' ',end='')value+=1while col >=row:print('*',end='')col-=1print()row+=1

4.

9x9乘法表

row=1
while row<=9:col=1while col <=row:print('%d*%d=%d\t' %(row,col,row*col) ,end='')col+=1print()row+=1

5.

猜数字游戏
if , while(for), break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;

while循环
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('机会已经用完了~')
for循环
import random
for i in range(5):num1=random.randint(1,100)num2=int(input('请输入一个数:'))    if (num1==num2):print('系统的数值为%d'%(num1))print('恭喜中奖100万')breakif (num2<num1):print('系统的数值为%d'%(num1))print('too small')print('您还剩余%d次机会'%(4-i))if (num2>num1):print('系统的数值为%d'%(num1))print('too big')print('您还剩余%d次机会'%(4-i))
else:print('次数用尽')

6.

输出命令[kiosk@test]$

import os
for i in range(1000):cmd=input('[kiosk@test]$')if cmd:if(cmd=='exit'):print('logout')breakelse:print('run%s'%(cmd))os.system(cmd)else:continue

import os
while 1:cmd=input('[kiosk@test]$')if cmd:if(cmd=='exit'):print('logout')breakelse:print('run%s'%(cmd))os.system(cmd)else:continue

7.

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样
的整数。
示例:
示例 1:
输入: 121
输出: true
#示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
#示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数

num = input('Num:')
print(num == num(::-1))

8.

用户输入两个数,求它们的最大公约数和最小公倍数

a=int(input('第一个数:'))
b=int(input('第二个数:'))
if(a>b):for i in range(1,b+1):if((a%i==0)and(b%i==0)):value =ilcm=int((a*b)/value)print('%d和%d的最大公约数为%d' %(a,b,value))print('%d和%d的最小公倍数为%d' %(a,b,lcm))
if(a<b):for i in range(1,a+1):if((a%i==0)and(b%i==0)):value =ilcm=int((a*b)/value)print('%d和%d的最大公约数为%d' %(a,b,value))print('%d和%d的最小公倍数为%d' %(a,b,lcm))

9.

设计一个程序,帮助小学生练习10以内的加法
详情:
随机生成加法题目;
学生查看题目并输入答案;
判别学生答题是否正确?
退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);

import  random
i=0
j=-1
while 1:x1 = random.randint(0,10)x2 = random.randint(0,10)print('%d+%d=?' %(x1,x2))j+=1answer=str(input('请输入答案,或者按q退出:'))if (str((x1+x2))==(answer)):print('回答正确')i+=1elif answer=='q'and j==0:print('您当前答题总数为:0')exit()elif answer=='q':breakelse:print('回答错误')
per=(i/j)*100
print('您当前答题总数为:%d\n正确数量为:%d\n正确率为%.2f%%' %(j,i,per))

10.

小学生算术能力测试系统:
#设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:
#提供10道加、减、乘或除四种基本算术运算的题目;
#练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。

import random
while 1:op = ['+','-','*','/']s = random.choice(op)x1= random.randint(0,100)x2= random.randint(0,100)print('%d%s%d=?' %(x1,s,x2))answer=float(input('请输入答案(四舍五入,保留两位小数):'))if s=='+':y=x1+x2elif s=='-':y=x1-x2elif s=='*':y=x1*x2else:y=float(('%.2f'%(x1/x2)))if y==answer:print('回答正确')else:print('回答错误')

11.

算法之指定范围内判断
1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
2). 输入一个正整数,判断其是否为一个素数

a=int(input('请输入一个正整数:'))
j=0
for i in range(1,a):if a%i==0:j=i+j
if a==j:print('该数为完全数')
else:print('该数不是完全数')

a=int(input('请输入一个数:'))
j=0
if a==1:print('该数为素数')
else:for i in range(1,a+1):if a%i==0:j=i+jif a+1==j:print('该数为素数')else:

12.

(2017-小米-句子反转)
题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子
示例1:
输入:
hello xiao mi
输出:
mi xiao hello

s=[]
star1=input('输入:\n')
s.append(star1)
while 1:if star1[-1]==' ':star1=input()s.append(star1)else:break
print('输出:')
for i in s:str=i.split(' ')[::-1]str1=' '.join(str).strip()print(str1)

13.

变量名是否合法?
1.变量名可以由字母,数字或下划线组成
2.变量名只能以字母或下划线开头

while 1:s = input('请输入变量名:')if s == 'exit':print('欢迎下次使用')breakelif s[0].isalpha() or s[0] == '_':for i in s[1:]:if i.isalpha()  or i.isalnum()or i == '_':print('变量名合法')breakelse:print('变量名不合法')else:print('变量名不合法')

更多推荐

作业,课后,语句,课堂,python

本文发布于:2023-05-28 07:00:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/315186.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:作业   课后   语句   课堂   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!