Python练习——基础练习题2

因为控制台会让不断输入,索性就把input放到注释里了。
这一片主要练习if判断和while循环

初级:

判断下列语句的打印结果

1.print(True and True or True )

2.print(True and True or False )

3.print(False and True or True )

4.print(False and True or False )

5.print(False and False or True)

编程题

复习if语句

1.根据(1-7)的数值不同。打印对应的星期英文

2.假设用户名为admin,密码为123abc,从控制台分别输入用户名和密码,如果和已知用户名和密码都匹配上的话,则验证成功,否则验证失败

用while语句实现下面的编程题目

1.计算从1到1000以内所有奇数的和并输出

2.求1–100之间可以被7整除的数的个数

3.计算从1到100以内所有奇数的和

4.计算从1到100以内所有能被3或者17整除的数的和并输出

5.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数

6.计算1到500以内能被7整除但不是偶数的数的个数

7.计算从1到1000以内所有能同时被3,5和7整除的数的和并输出

中级:
编程题
1.3000米长的绳子,每天减一半,问多少天这个绳子会小于5米?不考虑小数

2.输出1000以内的所有水仙花数:
水仙花数:一个三位数各个位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153

3.五位数中,对称的数称为回文数,打印所有的回文数并计算个数

import sys
import math

# 初级
"""
1.判断下列语句的打印结果
 print(True and True or True )  

 print(True and True or False ) 

 print(False and True or True ) 

 print(False and True or False ) 

 print(False and False or True) 
"""
print("第一题:")
print("print(True and True or True ),打印True")
print("print(True and True or False ),打印True")
print("print(False and True or True ),打印True")
print("print(False and True or False ),打印False")
print("print(False and False or True),打印True")
print("*******************************************")

"""
1.根据(1-7)的数值不同。打印对应的星期英文
"""
print("if第一题:")
# week = int(input("请输入1~7的整数,系统会自动打印对应的星期英文:"))
week = 7
if week == 1:
    print("星期一,Monday")
elif week == 2:
    print("星期二,Tuesday")
elif week == 3:
    print("星期三,Wednesday")
elif week == 4:
    print("星期四,Thursday")
elif week == 5:
    print("星期五,Friday")
elif week == 6:
    print("星期六,Sunday")
elif week == 7:
    print("星期天,Sunday")
else:
    print("请正确输入1~7的整数!")
print("*******************************************")

"""
2.假设用户名为admin,密码为123abc,从控制台分别输入用户名和密码,
如果和已知用户名和密码都匹配上的话,则验证成功,否则验证失败
"""
print("if第二题:")
user = "admin"
key = "123abc"
# iuser = input("请输入用户名:")
# ikey = input("请输入密码:")
iuser = "123234"
ikey = "132w"
if(iuser == user) & (ikey == key):
    print("恭喜,验证成功!")
else:
    print("对不起,验证失败,请重新输入!")
print("*******************************************")

"""
1.计算从1到1000以内所有奇数的和并输出
"""
print("while第一题:")
a = 1
sum1 = 0
while a <= 1000:
    if a % 2 == 1:
        sum1 = sum1 + a
    a += 1
print("1到1000,所有奇数的和=", sum1)
print("*******************************************")

"""
2.求1--100之间可以被7整除的数的个数
"""
print("while第二题:")
b = 1
sum2 = 0
while b <= 100:
    if b % 7 == 0:
        sum2 += 1
    b += 1
print("1~100之间可以被7整除的数的个数为:", sum2)
print("*******************************************")

"""
3.计算从1到100以内所有奇数的和
"""
print("while第三题:")
c = 1
sum3 = 0
while c <= 100:
    if c % 2 == 1:
        sum3 = sum3 + c
    c += 1
print("1~100所有奇数和为:", sum3)
print("*******************************************")

"""
4.计算从1到100以内所有能被3或者17整除的数的和并输出
"""
print("while第四题:")
d = 1
sum4 = 0
while d <= 100:
    if (d % 3 == 0) | (d % 17 == 0):
            sum4 = sum4 + d
    d += 1
print("1~100所有能被3或者17整除的数的和为:", sum4)
print("*******************************************")

"""
5.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数
"""
print("while第五题:")
e = 1
sum5 = 0
while e < 100:
    if (e % 3 == 0) | (e % 7 == 0):
        if (e % 21 != 0):
            sum5 += 1
    e += 1
print("1~100以内能被7或者3整除但不能同时被这两者整除的数的个数为:", sum5)
print("*******************************************")

"""
6.计算1到500以内能被7整除但不是偶数的数的个数
"""
print("while第六题:")
f = 1
sum6 = 0
while f <= 500:
    if (f % 7 == 0):
        if(f % 2 == 1):
            sum6 += 1
    f += 1
print("1~500以内能被7整除但不是偶数的数的个数为:", sum6)
print("*******************************************")

"""
7.计算从1到1000以内所有能同时被3,5和7整除的数的和并输出
"""
print("while第七题:")
g = 1
sum7 = 0
while g <= 1000:
    if (g % 105 == 0):  # 不知道用&为啥不显示..最后用了3,5,7的最小公倍数来算
        sum7 = sum7 + g
    g += 1
print("1~1000以内所有能同时被3,5和7整除的数的和为:", sum7)
print("*******************************************")

# 中级
"""
1.3000米长的绳子,每天减一半,问多少天这个绳子会小于5米?不考虑小数
"""
print("中级第一题:")
h = 3000
day = 0
while h >= 5:
    h = h / 2
    day += 1
    h += 1
print("绳子小于5米需要", day, "天", "此时的长度为:%d" % h)  # 此时长度为2.9~~~~,不考虑小数的话就取整为2
print("*******************************************")

"""
2.输出1000以内的所有水仙花数:
  水仙花数:一个三位数各个位上的立方之和,等于本身。
  例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153
"""
print("中级第二题:")
for i in range(100, 1000):
    j = i // 100  # 百位
    k = (i - (j * 100)) // 10  # 十位
    l = i - (j * 100) - (k * 10)  # 千位
    sum8 = math.pow(j, 3) + math.pow(k, 3) + math.pow(l, 3)
    if i == sum8:
        print("1000以内的三位数为水仙花的是:", i)
print("*******************************************")

"""
3.五位数中,对称的数称为回文数,打印所有的回文数并计算个数
"""
print("中级第三题:")
for m in range(10000,100000):
    n = m // 10000  # 万位
    o = (m - n * 10000) // 1000  # 千位
    p = (m - (n * 10000) - (o * 1000)) // 100  # 百位
    q = (m - (n * 10000) - (o * 1000) - (p * 100)) // 10  # 十位
    r = m - (n * 10000) - (o * 1000) - (p * 100) - (q * 10)  # 个位
    if (n == r) & (o == q):
        print("五位数的回文数有:", m)
print("*******************************************")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值