python循环结构乘法_python小白进阶之路三——循环结构入门练习+Random库练习

文章目录

==资源下载与使用==

输出水仙花数

100以内的素数之和

计算输入数的奇偶数之和与平均数

计算s=a+aa+aaa+…+aaa…aaa的值

有3个数字:1、2、3,能组成多少个互不相同且无重复数字的三位数?各是多少?

输出10行内容,第1行一个星号,第2行2个星号,依此类推第10行10个星号,星号左对齐表示

第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789

计算从1到100临近两个整数的合并依次输出。比如第一次输出3(1+2),第二次输出5(2+3),最后一次输出199(99+100)

给定一个不大于9的数n,打印nn乘法表

五位数中,对称的数称为回文数,打印所有的回文数并计算个数。如:12321

用户登录三次机会

程序模拟硬币的投掷

猜数字游戏

一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?

遍历循环

for in:

无限循环

while :

下面是我整理的一些循环结构简单的练习,敬请食用

资源下载与使用

本章资源下载链接

#后代表该段代码的目的,即要解决的问题

因为把所有的代码放到了一个文件里面,所以用两个 ‘’'把代码设置成了注释的格式

如果想要运行代码,只需要删除该段代码前后的引号即可。

文件格式示例

输出水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

思路: 巧用eval函数,数字转化成字符串形式后,就可以进行定位,定位后再利用eval函数重新转化成数字形式进行计算。

for i in range(100,1000):

t=str(i)

if pow(eval(t[0]),3)+pow(eval(t[1]),3)+pow(eval(t[2]),3)==i:

print(i,end=',')

100以内的素数之和

num=0

for i in range(2,101):

for a in range(2,i):

if i%a==0:

break

else:

num=num+i

print(num)

计算输入数的奇偶数之和与平均数

编写程序,从键盘上输入若干个整数,求出这些整数中所有奇数之和、偶数之和及所有数的平均值,当从键盘输入字符"A"时,程序输出计算结果。

num=input("请输入一个整数(输入字符A时结束处理):")

sum1=sum2=i=0

while num!='A':

i+=1

num=eval(num)

if num%2==0:

sum1+=num

else:

sum2+=num

num=input("请输入一个整数(输入字符A时结束处理):")

ave=(sum1+sum2)/i

print("所有奇数之和:{},所有偶数之和:{},平均值:{}".format(sum1,sum2,ave))

计算s=a+aa+aaa+…+aaa…aaa的值

同样是巧用字符串和数字格式的转化

计算s=a+aa+aaa+…+aaa…aaa的值,其中a是1~9之间的某个数字,n是一个正整数。例如,当a=2,n=5时,s=2+22+222+2222+22222=24690

a,n=eval(input("请输入a,n的值"))

s=0

for i in range(1,n+1):

s+=int(i*str(a))

print(s)

有3个数字:1、2、3,能组成多少个互不相同且无重复数字的三位数?各是多少?

count=0

for i in range(1,4):

for j in range(1,4):

for k in range(1,4):

if i!=j and i!=k and j!=k:

count+=1

print(str(i)+str(j)+str(k))

print(count)

输出10行内容,第1行一个星号,第2行2个星号,依此类推第10行10个星号,星号左对齐表示

'for i in range(1,11):

print('{:<10}'.format('*'*i))

第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789

for i in range(1,10):

j=1

while j<=i:

print(j,end='')

j+=1

else:

print('')

计算从1到100临近两个整数的合并依次输出。比如第一次输出3(1+2),第二次输出5(2+3),最后一次输出199(99+100)

for i in range(1,100):

print("{}({}+{})".format(2*i+1,i,i+1))

给定一个不大于9的数n,打印nn乘法表

n=eval(input("请输入一个不大于9的整数:"))

for i in range(1,n+1):

j=1

while j<=i:

print("{}*{}={:<2}".format(j,i,j*i),end=' ')

j+=1

else:

print('')

五位数中,对称的数称为回文数,打印所有的回文数并计算个数。如:12321

count=0

for i in range(9999,99999):

s=str(i)

if s[0]==s[-1] and s[1]==s[-2]:

count+=1

print(i,count)

Note: ctrl+C强制退出执行程序

用户登录三次机会

用户名为cat,密码为66,如果输入正确,打印出登录成功!。如果连续三次输入错误打印登录失败!

count=0

for i in range(3):

name=input("请输入用户名:")

password=input("请输入密码:")

if name=='cat'and password=='66':

print("登录成功!")

break

else:

print("账号密码错误,请重新输入。")

else:

print("三次密码输入错误,登录失败!")

程序模拟硬币的投掷

假设0表示硬币反面,1表示硬币正面。在程序中让计算机产生若干次(建议大于100次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同。

import random

count=eval(input("请输入抛硬币的次数(>100):"))

num0=num1=0

for i in range(0,count):

rnd=random.randint(0,1)

if rnd==0:

num0+=1

else:

num1+=1

print("硬币朝上的次数为{},硬币朝下的次数为{}".format(num1,num0))

猜数字游戏

在程序中随机生成一个0~9之间(包含0和9)的随机整数T,让用户通过键盘输入所猜的数。如果输入的数大于T,显示“太大了”;如果小于T,显示“太小了”;如此循环,直至猜中该数,显示“猜了N次,猜中了”,其中N是指用户在这次游戏中猜中该随机数一共尝试的次数。

import random

T=random.randint(0,9)

guess=eval(input("请输入一个0-9之间的数字:"))

count=0

while 1:

count+=1

if guess

print("太小了")

guess=eval(input())

elif guess>T:

print('太大了')

guess=eval(input())

else:

print('猜了{}次,猜对了'.format(count))

break

一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?

h=100

m=100

n=eval(input("输入一个整数: "))

for i in range(2,n+1):

h=h/2

m=m+(h*2)

print(m)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值