鱼C论坛

 找回密码
 立即注册
查看: 2008|回复: 7

[已解决]python 第9课课后题

[复制链接]
发表于 2017-7-22 20:46:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第0道题小甲鱼的答案是:
count = 3
password = 'FishC.com'

while count:
    passwd = input('请输入密码:')
    if passwd == password:
        print('密码正确,进入程序......')
        break
    elif '*' in passwd:
        print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
        continue
    else:
        print('密码输入错误!您还有', count-1, '次机会!', end=' ')   
    count -= 1

为啥一定要用continue。我自己编的代码为啥就不用continue,不太理解这里continue的含义,

这是我的代码,好像差不多
answer = 'FishC.com'
times=3
while times:
    secret = input('请输入密码:')
    if '*' in secret:
        print('密码中不能含有"*"号!您还有', times,'机会!')
        
    else:
        if ('*' not in secret) and (answer!=secret):
            print('密码输入错误!您还有' , times-1,'次机会!')
            times=times-1
        else:
            print('密码正确,进入程序......')
            break
最佳答案
2017-7-23 12:13:55
我同时也有更高大上的代码:
1号:
print("------------------------------猜数字------------------------------")
temp = input("不妨猜一下我心里想的是哪一个数字:")
guess = int(temp)
if guess == 8:
    print("你是我心中的蛔虫吗?")
    print("哼,猜中了也没有奖励!")
else:
    print("猜错拉,我心里想的是8")
print("游戏结束,")
2号:
import random
secret = random.randint(1,10)
#secret      = 1    #答案
guess_times = 0    #猜的次数
guess_max_times   = 2 # 最大次数

print('------------------猜数字------------------')
temp = input("不妨猜一下我现在心里想的是哪个数字(1-10):")
while  temp.isdigit() == False:
    print("输入格式不正确")
    temp = input("请输入整数:")
guess = int(temp)

while guess != secret and guess_times < guess_max_times :

    guess_times = guess_times + 1
    guess_left_times = guess_max_times - guess_times + 1
    if guess > secret:
        print("猜错了, 大了大了~~~")
    else:
        print("猜错了, 小了小了~~~")
    print("剩下",guess_left_times,"次机会")
    temp = input("请重新输入吧:")
    while temp.isdigit() == False:
        print("输入格式不正确")
        temp = input("请输入整数:")
    guess = int(temp)


if guess_times == 0:
    print("真厉害一次猜对")

if guess == secret:
    print("你是我心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")
    print("游戏结束")
else:
    print("答案是", secret)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-22 20:54:59 | 显示全部楼层
本帖最后由 新手·ing 于 2017-7-22 20:58 编辑

不加continue count就会减一 这个作为提醒 所以continue
不一样的思路就是不一样
你这个代码乱糟糟的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 20:57:15 | 显示全部楼层
不用continue 打*就会消耗一次机会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 20:58:42 | 显示全部楼层
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-23 12:03:59 | 显示全部楼层
本帖最后由 黎明§末日 于 2017-7-23 12:11 编辑

你好,我这里有相对来说比较好理解的:
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
Python 语言 continue 语句语法格式如下:
continue
实例:
for letter in 'Python':     # 第一个实例
   if letter == 'h':
      continue
   print ('当前字母 :', letter)
 
var = 10                    # 第二个实例
while var > 0:              
   var = var -1
   if var == 5:
      continue
   print ('当前变量值 :', var)
print ("Good bye!")
以上实例执行结果:
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!
continue 语句是一个删除的效果,他的存在是为了删除满足循环条件下的某些不需要的成分

var = 10

while var > 0:
        var = var -1
        if var == 5 or var == 8:
                continue
        print ('当前值 :', var)
print ("Good bye!")
这里效果是去掉5和8,执行效果如下:
当前值 : 9
当前值 : 7
当前值 : 6
当前值 : 4
当前值 : 3
当前值 : 2
当前值 : 1
当前值 : 0
Good bye!


只打印0-10之间的奇数,可以用continue语句跳过某些循环:
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0:      # 如果n是偶数,执行continue语句
        continue        # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)
流程图:

流程图

流程图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-23 12:13:55 | 显示全部楼层    本楼为最佳答案   
我同时也有更高大上的代码:
1号:
print("------------------------------猜数字------------------------------")
temp = input("不妨猜一下我心里想的是哪一个数字:")
guess = int(temp)
if guess == 8:
    print("你是我心中的蛔虫吗?")
    print("哼,猜中了也没有奖励!")
else:
    print("猜错拉,我心里想的是8")
print("游戏结束,")
2号:
import random
secret = random.randint(1,10)
#secret      = 1    #答案
guess_times = 0    #猜的次数
guess_max_times   = 2 # 最大次数

print('------------------猜数字------------------')
temp = input("不妨猜一下我现在心里想的是哪个数字(1-10):")
while  temp.isdigit() == False:
    print("输入格式不正确")
    temp = input("请输入整数:")
guess = int(temp)

while guess != secret and guess_times < guess_max_times :

    guess_times = guess_times + 1
    guess_left_times = guess_max_times - guess_times + 1
    if guess > secret:
        print("猜错了, 大了大了~~~")
    else:
        print("猜错了, 小了小了~~~")
    print("剩下",guess_left_times,"次机会")
    temp = input("请重新输入吧:")
    while temp.isdigit() == False:
        print("输入格式不正确")
        temp = input("请输入整数:")
    guess = int(temp)


if guess_times == 0:
    print("真厉害一次猜对")

if guess == secret:
    print("你是我心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")
    print("游戏结束")
else:
    print("答案是", secret)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-23 12:14:29 | 显示全部楼层
================================================
希望能帮上忙

如果帮上了
亲,请毫不犹豫的设为最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-23 12:15:59 | 显示全部楼层
代码如果需要讲解请加我好友
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 16:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表