鱼C论坛

 找回密码
 立即注册
查看: 1934|回复: 5

[已解决]代码遇到了点问题

[复制链接]
发表于 2020-1-13 20:32:25 | 显示全部楼层 |阅读模式

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

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

x
自己做了一段代码:

counts = 4
while counts > 0:
    temp = input("同样都拥有原力,为什么达斯维达能够感知到卢克是自己的儿子,而卢克却感知不到这个关系?\n1.卢克笨笨的\n2.达斯维达当时的原力更强\n3.欧比旺干扰了卢克的原力\n4.卢克其实知道,但不想承认\n你的答案:")
    guess = int(temp)

    if guess == 2:
        print("又答对了!卢克当时还在绝地训练的过程中,他没有达斯维达那么强的原力\n")
        print("请看下一道题吧:")
        break
   
    else:
        if guess < 2:
            print("卢克也许是个冲动的年轻人,但他可不笨哦\n再给你一个机会:\n")
        else:
            if guess > 3:
                 print("卢克还是个冲动的年轻人,他如果知道了这件事一定藏不住\n再给你一个机会:\n")

            else:
                print("欧比旺的确对卢克有隐瞒,但他没法干扰卢克的判断\n再给你一个机会:\n")
    counts = counts - 1

遇到了两个问题:

1.当四次都选错的时候,如何才能显示“很遗憾,你打错了,请看下一题”
2.是否有更优雅的编程方式来实现这个目标?

谢谢!
最佳答案
2020-1-13 20:36:28
  1. counts = 4
  2. while counts > 0:
  3.     guess = int(input(
  4.         "同样都拥有原力,为什么达斯维达能够感知到卢克是自己的儿子,而卢克却感知不到这个关系?"
  5.         "\n1.卢克笨笨的\n2.达斯维达当时的原力更强\n3.欧比旺干扰了卢克的原力"
  6.         "\n4.卢克其实知道,但不想承认\n你的答案:"))

  7.     if guess == 2:
  8.         print("又答对了!卢克当时还在绝地训练的过程中,他没有达斯维达那么强的原力\n请看下一道题吧:")
  9.         break
  10.     elif guess < 2:
  11.         print("卢克也许是个冲动的年轻人,但他可不笨哦\n再给你一个机会:\n")
  12.     elif guess > 3:
  13.         print("卢克还是个冲动的年轻人,他如果知道了这件事一定藏不住\n再给你一个机会:\n")
  14.     else:
  15.         print("欧比旺的确对卢克有隐瞒,但他没法干扰卢克的判断\n再给你一个机会:\n")
  16.     counts = counts - 1
  17. else:
  18.     print("很遗憾,你打错了,请看下一题:")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-14 13:08:32 | 显示全部楼层
lixiangyv 发表于 2020-1-13 21:26
代码如下

代码的最后两行你可能看不懂,

感谢! 我好好学习你这版
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-14 13:07:55 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 21:26:02 | 显示全部楼层
代码如下
  1. counts = 4
  2. while counts > 0:
  3.     temp = input("同样都拥有原力,为什么达斯维达能够感知到卢克是自己的儿子,而卢克却感知不到这个关系?\n1.卢克笨笨的\n2.达斯维达当时的原力更强\n3.欧比旺干扰了卢克的原力\n4.卢克其实知道,但不想承认\n你的答案:")
  4.     guess = int(temp)

  5.     if guess == 2:
  6.         print("又答对了!卢克当时还在绝地训练的过程中,他没有达斯维达那么强的原力\n")
  7.         print("请看下一道题吧:")
  8.         break
  9.    
  10.     else:
  11.         if guess < 2:
  12.             print("卢克也许是个冲动的年轻人,但他可不笨哦\n再给你一个机会:\n")
  13.         else:
  14.             if guess > 3:
  15.                  print("卢克还是个冲动的年轻人,他如果知道了这件事一定藏不住\n再给你一个机会:\n")

  16.             else:
  17.                 print("欧比旺的确对卢克有隐瞒,但他没法干扰卢克的判断\n再给你一个机会:\n")
  18.     counts = counts - 1
  19. else:
  20.     print("很遗憾,你答错了,请看下一题")
复制代码

代码的最后两行你可能看不懂,
因为你还没有学呢,
和 while 使用 else 是当循环顺利通过,
也就是没有 break 跳出循环,就会执行
else 语句块里的内容。

这个小甲鱼会讲的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-1-13 20:50:59 | 显示全部楼层
  1. counts , answer = 4 , 2
  2. for x in range(counts):
  3.     if x:
  4.         if guess < answer:
  5.             print("卢克也许是个冲动的年轻人,但他可不笨哦\n再给你一个机会:\n")
  6.         elif guess > answer + 1:
  7.             print("卢克还是个冲动的年轻人,他如果知道了这件事一定藏不住\n再给你一个机会:\n")
  8.         else:
  9.             print("欧比旺的确对卢克有隐瞒,但他没法干扰卢克的判断\n再给你一个机会:\n")   
  10.     guess = int(input("同样都拥有原力,为什么达斯维达能够感知到卢克是自己的儿子,而卢克却感知不到这个关系?\n1.卢克笨笨的\n2.达斯维达当时的原力更强\n3.欧比旺干扰了卢克的原力\n4.卢克其实知道,但不想承认\n你的答案:") . strip())
  11.     if guess == answer:
  12.         print("又答对了!卢克当时还在绝地训练的过程中,他没有达斯维达那么强的原力\n")
  13.         print("请看下一道题吧:")
  14.         break
  15. else:
  16.     print("很遗憾,你答错了,请看下一题")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 20:36:28 | 显示全部楼层    本楼为最佳答案   
  1. counts = 4
  2. while counts > 0:
  3.     guess = int(input(
  4.         "同样都拥有原力,为什么达斯维达能够感知到卢克是自己的儿子,而卢克却感知不到这个关系?"
  5.         "\n1.卢克笨笨的\n2.达斯维达当时的原力更强\n3.欧比旺干扰了卢克的原力"
  6.         "\n4.卢克其实知道,但不想承认\n你的答案:"))

  7.     if guess == 2:
  8.         print("又答对了!卢克当时还在绝地训练的过程中,他没有达斯维达那么强的原力\n请看下一道题吧:")
  9.         break
  10.     elif guess < 2:
  11.         print("卢克也许是个冲动的年轻人,但他可不笨哦\n再给你一个机会:\n")
  12.     elif guess > 3:
  13.         print("卢克还是个冲动的年轻人,他如果知道了这件事一定藏不住\n再给你一个机会:\n")
  14.     else:
  15.         print("欧比旺的确对卢克有隐瞒,但他没法干扰卢克的判断\n再给你一个机会:\n")
  16.     counts = counts - 1
  17. else:
  18.     print("很遗憾,你打错了,请看下一题:")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-26 03:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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