楼主: 荨洛洛
2349 12

[问答] Python3 代码运行问题-入门 [推广有奖]

  • 8关注
  • 0粉丝

已卖:210份资源

硕士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
28741 个
通用积分
1.7308
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
8449 点
帖子
120
精华
0
在线时间
120 小时
注册时间
2012-5-12
最后登录
2025-10-16

楼主
荨洛洛 发表于 2017-5-10 14:10:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近在看Python基础教程60课的那本教材,它都是以Python2为基础的,我安装的是3没有换,现在遇到了问题,

要是按照教材的步骤写的话,错误提示太多,我自己拼拼凑凑边改边运行了好几遍才勉强运行处教材上能运行出的结果,

但瞧着自己改的,感觉特别扭,但又不知道别扭在哪儿,所以拜托大家帮忙指导下,非常感谢☆⌒(*^-゜)v

具体情况如下:

教材上列出情况:
教材Python2.PNG

我自己根据教材在Python3上运行的情况:
Python3.PNG

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 运行问题 python基础教程 Python基础 基础教程

沙发
Mutually_Sincer 学生认证  发表于 2017-5-12 09:45:10
类型错误,你将answer的赋值强制转化为整型试试。
answer = int(input())

藤椅
Mutually_Sincer 学生认证  发表于 2017-5-12 09:46:02
  1. from random import randint
  2. num = randint(1, 100)

  3. print ('Guess what I think?')
  4. bingo = False
  5. while bingo == False:
  6.     answer = int(input())

  7.     if answer < num:
  8.         print('too small!')
  9.     if answer > num:
  10.         print('too big!')
  11.     if answer == num:
  12.         print('BINGO!')
  13.         bingo = True
复制代码

板凳
beibei2004213 发表于 2017-5-12 14:30:34
支持................................

报纸
荨洛洛 发表于 2017-5-12 17:02:49
Mutually_Sincer 发表于 2017-5-12 09:46
多谢,我复制运行了,结果OK~又和我自个儿抹黑弄的(笑)对了下,发现差别在randint()这儿

其中这个randint(1, 100)是已经定义了里面的随机数就是整数吗,麻烦解惑哈,先谢啦

再者 ,从while循环开始,当bingo==Fasle时开始循环,循环的是三个if吗? 最后bingo=True为什么要归属在if语句里,没想明白
方便的话麻烦指导解惑下,灰常感谢^^

1.根据你帮助的运行的:
友.PNG

2.自个拼凑的:
自.PNG

地板
Mutually_Sincer 学生认证  发表于 2017-5-14 11:46:58
荨洛洛 发表于 2017-5-12 17:02
多谢,我复制运行了,结果OK~又和我自个儿抹黑弄的(笑)对了下,发现差别在randint()这儿

其中这个ra ...
这其实是一个运算逻辑的问题。while循环开始后,首先要求你输入一个猜想的数字,输入之后它会把你输入的数字和之前语句“num = randint(1, 100)”所随机赋给num的值作比较。比较的结果满足下面三个if中的哪一个条件则执行对应if语句的结果。如果满足前两个,就会输出太大或者太小,这个时候while循环已经结束一次了,但是bingo的值还是False,所以while循环条件依旧成立,只好进入下一次循环。当你输入的answer 与num相同的时候,执行第三个if循环,其结果是打印出“BINGO”并且将bingo赋值为True,这时候,while循环条件不满足了,结束。

7
Mutually_Sincer 学生认证  发表于 2017-5-14 11:57:46
荨洛洛 发表于 2017-5-12 17:02
多谢,我复制运行了,结果OK~又和我自个儿抹黑弄的(笑)对了下,发现差别在randint()这儿

其中这个ra ...
还有第一个问题,你可以只运行前两行,然后再variable explorer 一栏里看看,num已经是int型的变量了,所以你写的‘int(randint(1, 100))'中的int实无必要。

8
荨洛洛 发表于 2017-5-14 15:48:19 来自手机
Mutually_Sincer 发表于 2017-5-14 11:46
这其实是一个运算逻辑的问题。while循环开始后,首先要求你输入一个猜想的数字,输入之后它会把你输入的数 ...
非常清晰了,谢谢ツ~

9
荨洛洛 发表于 2017-5-14 15:49:29 来自手机
Mutually_Sincer 发表于 2017-5-14 11:57
还有第一个问题,你可以只运行前两行,然后再variable explorer 一栏里看看,num已经是int型的变量了,所 ...
3q~现在理解了^^

10
荨洛洛 发表于 2017-5-17 10:55:18
Mutually_Sincer 发表于 2017-5-14 11:57
还有第一个问题,你可以只运行前两行,然后再variable explorer 一栏里看看,num已经是int型的变量了,所 ...
关于全局变量,global:理解和问题

一、以下理解妥当吗?
(run调用的函数,首先使用函数的形参->函数内已定义赋值的变量->print函数外的变量):
1.这个函数外的变量,是单纯的只是函数外的变量,只受到调用函数时赋给形参(函数主块变量)的值的影响,只有在全局global的介入下才会被函数内已定义的变量支配。(还是它是与函数有什么关系的,有点混乱)

2.函数内主块的变量不管全局还是局部,都不会受到影响,受支配的只有在调用时赋给其形参的值。

局部:函数内已定义声明的变量只作用于函数内;
全局:函数内已定义声明的变量作用于函数内外;

二、问题:
教材的范例Python2,我用python3运行,完全出不了结果,百度了下有人把x=50换在了def前,我也试用了,结果也不成,具体如图:麻烦指导,多谢~
global_1.jpg global_2.PNG

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-20 02:25