Python手新简单练习题

Python新手简单练习题

(1)设计“过7游戏”的程序,打印1-100之间除了含7和7的倍数以外的数字。

for i in range(101):
    if i%7!=0:
        print(i,end=" ")
运行结果:
1 2 3 4 5 6 8 9 10 11 12 13 15 16 17 18 19 20 22 23 24 25 26 27 29 30 31 32 33 34 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 64 65 66 67 68 69 71 72 73 74 75 76 78 79 80 81 82 83 85 86 87 88 89 90 92 93 94 95 96 97 99 100 

看到有些同学的留言,确实上述代码存在问题。现做了些许修改

result=[i  for i in range(101)  if i%7!=0 and '7' not in str(i) ]
print(result)

运行结果:

[1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 36, 38, 39, 40, 41, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 96, 99, 100]

(2)编写程序用户登录程序且仅有三次机会(if和for)

name = "admin"
password = "123456"
i = 3
while i > 0:
    iname = input("请输入用户名:")
    ipassword = input("请输入用户密码")
    if iname == name and ipassword == password:
        print("登录成功")
        break
    else:
        print("登录失败,请重新输入!")
        i -= 1
else:
    print("您已经失败三次,无法登录了!")
运行结果:请输入用户名:admin
请输入用户密码123456
登录成功

( 3 ) 编写程序实现,一串字符串是否为有效变量名

str1 = input("请输入一串字符:")
if '_' in str1:
    str2=str1.replace('_','a')
    if str2.isalnum():
        if str2[0].isdigit():
            print("该字符为非法变量名")
        else:
            print("该字符为合法变量名")
    else:
        print("该字符为非法变量名")
elif '_' not in str1:
    if str1.isalnum():
        if str1[0].isdigit():
            print("该字符为非法变量名")
        else:
            print("该字符为合法变量名")
    else:
        print("该字符为非法变量名")
运行结果:
请输入一串字符:_.'';'
该字符为非法变量名

( 4 )最多猜10次的游戏,猜测范围1-100,根据input内容提示猜大或者猜小,如果猜中,结束循环。

import random
realnum = random.randint(1, 100)
i = 0
while i <= 10:
    guessnum = int(input("请输入一个1-100之间的数"))
    i += 1
    if guessnum == realnum:
        print("恭喜你,猜对了!你总共用了", i,"次")
        break
    elif guessnum<realnum:
        print("你猜小了!")
    else:
        print("你猜大了!")
else:
    print("你已经猜错10次,没有机会了!")
运行结果:
请输入一个1-100之间的数50
你猜小了!
请输入一个1-100之间的数75
你猜大了!
请输入一个1-100之间的数63
你猜大了!
请输入一个1-100之间的数58
你猜小了!
请输入一个1-100之间的数61
你猜小了!
请输入一个1-100之间的数62
恭喜你,猜对了!你总共用了 6

( 5 )使用while循环实现2-3+4-5+6…+100的和。

num=2
count=0
while num <=100:
    if num%2==0:
        count=count+num
    else:
        count=count-num
    num+=1
print(count)
运行结果:
51

( 6 )使用循环实现九九乘法表

for i in range(1, 10):
    for x in range(1, i + 1):
        print('%d X %d = %d' % (i, x, i * x), end='  ')
    print('\n')
运行结果:
1 X 1 = 1  

2 X 1 = 2  2 X 2 = 4  

3 X 1 = 3  3 X 2 = 6  3 X 3 = 9  

4 X 1 = 4  4 X 2 = 8  4 X 3 = 12  4 X 4 = 16  

5 X 1 = 5  5 X 2 = 10  5 X 3 = 15  5 X 4 = 20  5 X 5 = 25  

6 X 1 = 6  6 X 2 = 12  6 X 3 = 18  6 X 4 = 24  6 X 5 = 30  6 X 6 = 36  

7 X 1 = 7  7 X 2 = 14  7 X 3 = 21  7 X 4 = 28  7 X 5 = 35  7 X 6 = 42  7 X 7 = 49  

8 X 1 = 8  8 X 2 = 16  8 X 3 = 24  8 X 4 = 32  8 X 5 = 40  8 X 6 = 48  8 X 7 = 56  8 X 8 = 64  

9 X 1 = 9  9 X 2 = 18  9 X 3 = 27  9 X 4 = 36  9 X 5 = 45  9 X 6 = 54  9 X 7 = 63  9 X 8 = 72  9 X 9 = 81  

( 7 )已知列表 li=[22478,24066,23398,38498],利用字符串拼接遍历,输出结果“城市学院”

li=[22478,24066,23398,38498]
str1=''
for i in li:
    str1=str1+chr(i)
print(str1)
运行结果:
城市学院

博主qq:1031748759.欢迎批评指正!!!

  • 33
    点赞
  • 225
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值