python练习代码-基础语法包括if、for、while、input、print(欢迎指正)

从键盘输入一个整数,判断该数字能否被2和3同时整除,能否被2整除,能否被3整除,不能被2和3整除,输出相应信息
#从键盘输入一个整数,判断该数字能否被2和3同时整除,能否被2整除,能否被3整除,不能被2和3整除,输出相应信息
#思路:if判断
#从键盘输入一个整数
num=int(input('请输入一个整数呀,一定要整数呀:'))
#逐次判断4个条件
if num%2 == 0 and num%3 == 0:
        print('%d可以被2和3同时整除' %num)
elif num%2 ==0 and num%3 != 0:
        print('%d可以被2整除,不能被3整除' %num)
elif num%2 !=0 and num%3 == 0:
        print('%d不可以被2整除,能被3整除' %num)
else:
        print('%d不可以被2整除,也不能被3整除' %num)

结果:
请输入一个整数呀,一定要整数呀:7
7不可以被2整除,也不能被3整除

实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登录失败,失败时允许重复输入三次
实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登录失败,失败时允许重复输入三次
#login_time记录输入次数
for login_time in range(1,4):
    user_name=input('请输入用户名:')
    user_password=input('请输入密码:')
    #判断用户名和密码是否同时正确,若正确则跳出循环,且不执行与for对应的else
    if user_name=='seven' and user_password=='123':
        print('登录成功')
        break
    #判断是否是最后一次循环,如果是则跳到与for对应的else,不允许再输入;如果不是最后一次循环,则允许用户输入
    elif login_time < 3:
        print('请重新输入用户名及密码')
#失败3次后,不再允许输入
else:
    print('已经输入错误3次,请稍后再试')

结果
请输入用户名:1
请输入密码:1
请重新输入用户名及密码
请输入用户名:1
请输入密码:1
请重新输入用户名及密码
请输入用户名:2
请输入密码:2
已经输入错误3次,请稍后再试

使用for循环和range实现输出1-2+3-4+5-6…+99的和
#思路1:判断是否能被2整除,能则使用-号,否则使用+号
#赋值初始和的值为0
sum=0
#循环1-99共99次,sum_time即是记录次数也是执行运算的值
for sum_time in range (1,100):
    #判断奇数偶数决定使用+号还是-号运算,奇数则相加,偶数则相减
    if sum_time%2 != 0:
        sum+=sum_time
    else:
        sum-=sum_time
#打印最终的求和结果
print(sum)
#思路2:步长为2,利用2次for循环分别进行+运算和-运算
#赋值初始和的值为0
sum=0
#第一次循环,起始值为1,步长为2。循环进行加法运算
for add_time in range(1,100,2):
    sum+=add_time
#第二次循环,起始值为2,步长为2.循环进行减法运算
for sub_time in range(2,100,2):
    sum-=sub_time
#打印最终的求和结果
print(sum)

结果
50

使用for循环和while循环打印99乘法表
#for循环
#思路:循环嵌套,第一遍写的没有考虑格式,直接换行输出。之后参考百度,变化了for的遍历方式
#第一层遍历每行
for loop_one in range (1,10):
    #第二层遍历每列,列数是逐次加1的
    for loop_two in range (1,loop_one+1):
        mul_result=loop_one*loop_two
        #使用end参数,输出后不换行,而是使用空格替代
        print('%d*%d=%d' %(loop_one,loop_two,mul_result),end='   ')
    #此处注意,结束该循环时需要打印空的print实现换行
    print()
#while循环
#思路:循环嵌套
loop_one=1
loop_two=1
#第一层遍历
while loop_one < 10:
    #第二层遍历每列
    while loop_two <= loop_one:
        mul_result=loop_one*loop_two
        print('%d * %d = %d' %(loop_one,loop_two,mul_result),end = '  ')
        loop_two+=1
    print()
    #每行的值逐次加1
    loop_one+=1
    #每列的初始值为1
    loop_two=1

结果
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

有1、2、3、4共4个数字,能组成多少个互不相同且不重复的三位数字?都是多少?
#思路,嵌套循环,遍历所有数字,加入计数次数
num_list=[1,2,3,4]
time=0
#循环遍历三位数字的第一个数字
for num_one in num_list:
    #循环遍历三位数的第二个数字
    for num_two in num_list:
        #循环遍历三位数的第三个数字
        for num_three in num_list:
            #记录三位数字的个数
            time+=1
            print('数字为%d%d%d' %(num_one,num_two,num_three))
print('以上是所有互不相同的三位数字,共%d个' %time)

结果
数字为111
数字为112
数字为113
数字为114
数字为121
数字为122
数字为123
数字为124
数字为131
数字为132
数字为133
数字为134
数字为141
数字为142
数字为143
数字为144
数字为211
数字为212
数字为213
数字为214
数字为221
数字为222
数字为223
数字为224
数字为231
数字为232
数字为233
数字为234
数字为241
数字为242
数字为243
数字为244
数字为311
数字为312
数字为313
数字为314
数字为321
数字为322
数字为323
数字为324
数字为331
数字为332
数字为333
数字为334
数字为341
数字为342
数字为343
数字为344
数字为411
数字为412
数字为413
数字为414
数字为421
数字为422
数字为423
数字为424
数字为431
数字为432
数字为433
数字为434
数字为441
数字为442
数字为443
数字为444
以上是所有互不相同的三位数字,共64个

用python语句输出,1-100以内的素数(素数指在大于1的自然数中,除了1和它本身之外不能被其他数整除的数)
#思路首先遍历每个数,严格按照定义条件取判断,不加入主观知道的不能被2/3/5/7整除。注意

#初始化质数个数
time=0
print('1-100以内的素数如下:')
#遍历2到100,因为1不是质数
for num_prime in range (2,101):
    #遍历该数除以比它小的所有数(除了1)
    for num_divisor in range (2,num_prime):
        if num_prime%num_divisor==0:
            #一旦出现可以整除的数,则跳出本次循环,因为该数已经不是质数
            break
    #整个循环结束,若没有被break跳出,则说明该数是质数,可以输出了
    else:
        print(num_prime)
        time+=1
print('1-100以内的质数共有%d个' %time)

结果
1-100以内的素数如下:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
1-100以内的质数共有25个

用代码找出100-999范围内的前10个回文数字(3位数字中个位个百位相同的数字,如101及111)
#思路:遍历100-999,取出各位和百位进行对比。
#此处将int型强转为字符串型,为了进行下标索引。不确定是否规范

print('100-999中前十个回文数字如下:')
#初始化回文数字的个数
time=0
#遍历100-999的数字
for num in range (100,1000):
    #将int型强转为字符型
    num=str(num)
    #索引三位数的个位的值
    num_unit=num[-1]
    #索引三位数的百位的值
    num_hundred=num[0]
    #判断个位与百位是否相等
    if num_unit == num_hundred:
        time+=1
        #判断回文数字的个数,若大于10,则直接跳出循环
        if time >10:
            break
        #判断回文数字个数小于等于10个,则输出该回文数字
        else:
            print(int(num))

结果
100-999中前十个回文数字如下:
101
111
121
131
141
151
161
171
181
191

学习成绩>=90分的同学用A表示,60-89分的同学用B表示,60分以下的同学用C表示
#思路:判断

score=int(input('同学请输入你的分数哟:'))
if score >= 90:
    print('同学,你的分数属于A等')
elif 60 <= score <= 89:
    print('同学,你的分数属于B等')
else:
    print('同学,你的分数属于C等')

结果
同学请输入你的分数哟:59
同学,你的分数属于C等

输入三个整数x、y、z,请把这三个数由小到大输出;
#思路1:if判断
x=int(input('请输入整数x的值:'))
y=int(input('请输入整数y的值:'))
z=int(input('请输入整数z的值:'))
if x>y:
    if x>z:
        if y>z:
            print('三个整数由小到大为%d,%d,%d' %(z,y,x))
        else:
            print('三个整数由小到大为%d,%d,%d' %(y,z,x))
    else:
        print('三个整数由小到大为%d,%d,%d' %(y,x,z))
else:
    if y>z:
        if x>z:
            print('三个整数由小到大为%d,%d,%d' %(z,x,y))
        else:
            print('三个整数由小到大为%d,%d,%d' %(y,z,x))
    else:
        print('三个整数由小到大为%d,%d,%d' %(x,y,z))
#思路2:sort排序
x=int(input('请输入整数x的值:'))
y=int(input('请输入整数y的值:'))
z=int(input('请输入整数z的值:'))
num_list=[x,y,z]
num_list.sort()
print(num_list)

结果
请输入整数x的值:6
请输入整数y的值:2
请输入整数z的值:4
三个整数由小到大为2,4,6

打印出所有的‘水仙花数’,指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,153=13+53+3^3
#思路:for循环遍历
#错误记录:第一遍,把0忽略了,只考虑了范围1-99的遍历,没有想到个位和十位可以为0

print('所有水仙花数如下:')
#遍历百位数,从1到99,百位不能为0
for num_mul in range (1,10):
    #遍历十位数,从0到99,十位可以为0
    for num_ten in range (0,10):
        #遍历个位数,从0到99,个位可以为0
        for num_unit in range (0,10):
            #计算个位数字的三次幂+十位数字的三次幂+百位数字的三次幂
            num_result=(num_unit**3)+(num_ten**3)+(num_mul**3)
            #计算该三位数的值
            num=100*num_mul+10*num_ten+num_unit
            #判断该三位数的值与三次幂结果是否相等
            if num_result != num:
                #不相等则执行下一次循环
                continue
            #相等则该数为水仙花数
            else:
                print(num)

结果
所有水仙花数如下:
153
370
371
407

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值